0s autopkgtest [10:51:45]: starting date and time: 2025-03-13 10:51:45+0000 0s autopkgtest [10:51:45]: git checkout: 325255d2 Merge branch 'pin-any-arch' into 'ubuntu/production' 0s autopkgtest [10:51:45]: host juju-7f2275-prod-proposed-migration-environment-15; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.msskvzp0/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:r-cran-fansi --apt-upgrade r-cran-fansi --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=r-cran-fansi/1.0.6-1 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest-ppc64el --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-15@bos03-ppc64el-3.secgroup --name adt-plucky-ppc64el-r-cran-fansi-20250313-105145-juju-7f2275-prod-proposed-migration-environment-15-e3bdfb79-8ecc-49f4-8017-a4fb7e2d64f7 --image adt/ubuntu-plucky-ppc64el-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-15 --net-id=net_prod-proposed-migration-ppc64el -e TERM=linux -e ''"'"'http_proxy=http://squid.internal:3128'"'"'' -e ''"'"'https_proxy=http://squid.internal:3128'"'"'' -e ''"'"'no_proxy=127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,keyserver.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,10.24.0.0/24,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com,radosgw.ps5.canonical.com'"'"'' --mirror=http://ftpmaster.internal/ubuntu/ 99s autopkgtest [10:53:24]: testbed dpkg architecture: ppc64el 99s autopkgtest [10:53:24]: testbed apt version: 2.9.32ubuntu1 100s autopkgtest [10:53:25]: @@@@@@@@@@@@@@@@@@@@ test bed setup 100s autopkgtest [10:53:25]: testbed release detected to be: None 101s autopkgtest [10:53:26]: updating testbed package index (apt update) 101s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [110 kB] 101s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 101s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 101s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 102s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [11.5 kB] 102s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [43.9 kB] 102s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [396 kB] 102s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/main ppc64el Packages [56.8 kB] 102s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/universe ppc64el Packages [328 kB] 102s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse ppc64el Packages [3020 B] 102s Fetched 950 kB in 1s (1074 kB/s) 103s Reading package lists... 103s + lsb_release --codename --short 103s + RELEASE=plucky 103s + cat 103s + [ plucky != trusty ] 103s + DEBIAN_FRONTEND=noninteractive eatmydata apt-get -y --allow-downgrades -o Dpkg::Options::=--force-confnew dist-upgrade 103s Reading package lists... 103s Building dependency tree... 103s Reading state information... 104s Calculating upgrade... 104s Calculating upgrade... 104s The following NEW packages will be installed: 104s pnp.ids 104s The following packages will be upgraded: 104s gir1.2-glib-2.0 htop hwdata libglib2.0-0t64 libglib2.0-data 104s 5 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 104s Need to get 2297 kB of archives. 104s After this operation, 11.3 kB of additional disk space will be used. 104s Get:1 http://ftpmaster.internal/ubuntu plucky/main ppc64el gir1.2-glib-2.0 ppc64el 2.84.0-1 [184 kB] 104s Get:2 http://ftpmaster.internal/ubuntu plucky/main ppc64el libglib2.0-0t64 ppc64el 2.84.0-1 [1802 kB] 104s Get:3 http://ftpmaster.internal/ubuntu plucky/main ppc64el libglib2.0-data all 2.84.0-1 [53.0 kB] 104s Get:4 http://ftpmaster.internal/ubuntu plucky/main ppc64el htop ppc64el 3.4.0-2 [227 kB] 104s Get:5 http://ftpmaster.internal/ubuntu plucky/main ppc64el hwdata all 0.393-3 [1562 B] 104s Get:6 http://ftpmaster.internal/ubuntu plucky/main ppc64el pnp.ids all 0.393-3 [29.5 kB] 105s Fetched 2297 kB in 1s (3764 kB/s) 105s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 107190 files and directories currently installed.) 105s Preparing to unpack .../0-gir1.2-glib-2.0_2.84.0-1_ppc64el.deb ... 105s Unpacking gir1.2-glib-2.0:ppc64el (2.84.0-1) over (2.83.5-1) ... 105s Preparing to unpack .../1-libglib2.0-0t64_2.84.0-1_ppc64el.deb ... 105s Unpacking libglib2.0-0t64:ppc64el (2.84.0-1) over (2.83.5-1) ... 105s Preparing to unpack .../2-libglib2.0-data_2.84.0-1_all.deb ... 105s Unpacking libglib2.0-data (2.84.0-1) over (2.83.5-1) ... 105s Preparing to unpack .../3-htop_3.4.0-2_ppc64el.deb ... 105s Unpacking htop (3.4.0-2) over (3.4.0-1) ... 105s Preparing to unpack .../4-hwdata_0.393-3_all.deb ... 106s Unpacking hwdata (0.393-3) over (0.393-1) ... 106s Selecting previously unselected package pnp.ids. 106s Preparing to unpack .../5-pnp.ids_0.393-3_all.deb ... 106s Unpacking pnp.ids (0.393-3) ... 106s Setting up htop (3.4.0-2) ... 106s Setting up libglib2.0-0t64:ppc64el (2.84.0-1) ... 106s No schema files found: doing nothing. 106s Setting up libglib2.0-data (2.84.0-1) ... 106s Setting up gir1.2-glib-2.0:ppc64el (2.84.0-1) ... 106s Setting up pnp.ids (0.393-3) ... 106s Setting up hwdata (0.393-3) ... 106s Processing triggers for man-db (2.13.0-1) ... 107s Processing triggers for libc-bin (2.41-1ubuntu1) ... 107s + rm /etc/apt/preferences.d/force-downgrade-to-release.pref 107s + /usr/lib/apt/apt-helper analyze-pattern ?true 107s + uname -r 107s + sed s/\./\\./g 107s + running_kernel_pattern=^linux-.*6\.14\.0-7-generic.* 107s + apt list ?obsolete 107s + + cut -d/ -f1 107s tail -n+2 107s + grep -v ^linux-.*6\.14\.0-7-generic.* 107s + true 107s + obsolete_pkgs= 107s + DEBIAN_FRONTEND=noninteractive eatmydata apt-get -y purge --autoremove 107s Reading package lists... 107s Building dependency tree... 107s Reading state information... 107s Solving dependencies... 107s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 107s + grep -q trusty /etc/lsb-release 107s + [ ! -d /usr/share/doc/unattended-upgrades ] 107s + [ ! -d /usr/share/doc/lxd ] 107s + [ ! -d /usr/share/doc/lxd-client ] 107s + [ ! -d /usr/share/doc/snapd ] 107s + type iptables 107s + cat 107s + chmod 755 /etc/rc.local 107s + . /etc/rc.local 107s + iptables -w -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu 107s + iptables -A OUTPUT -d 10.255.255.1/32 -p tcp -j DROP 107s + iptables -A OUTPUT -d 10.255.255.2/32 -p tcp -j DROP 107s + uname -m 107s + [ ppc64le = ppc64le ] 107s + systemctl is-active keyboard-setup.service 107s + [ active = failed ] 107s + [ -d /run/systemd/system ] 107s + systemd-detect-virt --quiet --vm 107s + mkdir -p /etc/systemd/system/systemd-random-seed.service.d/ 107s + cat 107s + grep -q lz4 /etc/initramfs-tools/initramfs.conf 107s + echo COMPRESS=lz4 107s autopkgtest [10:53:32]: upgrading testbed (apt dist-upgrade and autopurge) 108s Reading package lists... 108s Building dependency tree... 108s Reading state information... 108s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 108s Starting 2 pkgProblemResolver with broken count: 0 108s Done 109s Entering ResolveByKeep 109s 109s Calculating upgrade... 109s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 109s Reading package lists... 109s Building dependency tree... 109s Reading state information... 109s Starting pkgProblemResolver with broken count: 0 109s Starting 2 pkgProblemResolver with broken count: 0 109s Done 110s Solving dependencies... 110s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 113s autopkgtest [10:53:38]: testbed running kernel: Linux 6.14.0-7-generic #7-Ubuntu SMP Fri Feb 28 12:06:33 UTC 2025 113s autopkgtest [10:53:38]: @@@@@@@@@@@@@@@@@@@@ apt-source r-cran-fansi 115s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed/universe r-cran-fansi 1.0.6-1 (dsc) [2110 B] 115s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/universe r-cran-fansi 1.0.6-1 (tar) [482 kB] 115s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/universe r-cran-fansi 1.0.6-1 (diff) [3156 B] 115s gpgv: Signature made Mon Mar 10 04:57:09 2025 UTC 115s gpgv: using RSA key 73471499CC60ED9EEE805946C5BD6C8F2295D502 115s gpgv: issuer "plessy@debian.org" 115s gpgv: Can't check signature: No public key 115s dpkg-source: warning: cannot verify inline signature for ./r-cran-fansi_1.0.6-1.dsc: no acceptable signature found 115s autopkgtest [10:53:40]: testing package r-cran-fansi version 1.0.6-1 116s autopkgtest [10:53:41]: build not needed 118s autopkgtest [10:53:43]: test run-unit-test: preparing testbed 118s Reading package lists... 118s Building dependency tree... 118s Reading state information... 118s Starting pkgProblemResolver with broken count: 0 118s Starting 2 pkgProblemResolver with broken count: 0 118s Done 119s The following NEW packages will be installed: 119s fontconfig fontconfig-config fonts-dejavu-core fonts-dejavu-mono 119s fonts-font-awesome fonts-glyphicons-halflings fonts-mathjax 119s javascript-common libblas3 libcairo2 libdatrie1 libdeflate0 libfontconfig1 119s libgfortran5 libgomp1 libgraphite2-3 libharfbuzz0b libice6 libjbig0 119s libjpeg-turbo8 libjpeg8 libjs-bootstrap libjs-bootstrap4 libjs-d3 119s libjs-es5-shim libjs-highlight.js libjs-jquery libjs-jquery-datatables 119s libjs-jquery-selectize.js libjs-jquery-ui libjs-json libjs-mathjax 119s libjs-microplugin.js libjs-modernizr libjs-popper.js libjs-prettify 119s libjs-sifter.js libjs-twitter-bootstrap-datepicker liblapack3 liblerc4 119s liblua5.4-0 libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 119s libpaper-utils libpaper2 libpixman-1-0 libsharpyuv0 libsm6 libtcl8.6 119s libthai-data libthai0 libtiff6 libtk8.6 libwebp7 libxcb-render0 libxcb-shm0 119s libxft2 libxrender1 libxss1 libxt6t64 littler node-bootstrap-sass 119s node-html5shiv node-normalize.css pandoc pandoc-data r-base-core 119s r-cran-base64enc r-cran-bslib r-cran-cachem r-cran-cli r-cran-commonmark 119s r-cran-crayon r-cran-diffobj r-cran-digest r-cran-evaluate r-cran-fansi 119s r-cran-fastmap r-cran-fontawesome r-cran-fs r-cran-glue r-cran-highr 119s r-cran-htmltools r-cran-httpuv r-cran-jquerylib r-cran-jsonlite r-cran-knitr 119s r-cran-later r-cran-lifecycle r-cran-littler r-cran-magrittr r-cran-memoise 119s r-cran-mime r-cran-pkgkitten r-cran-promises r-cran-r6 r-cran-rappdirs 119s r-cran-rcpp r-cran-rlang r-cran-rmarkdown r-cran-sass r-cran-shiny 119s r-cran-sourcetools r-cran-tinytex r-cran-unitizer r-cran-withr r-cran-xfun 119s r-cran-xtable r-cran-yaml unzip x11-common xdg-utils zip 119s 0 upgraded, 114 newly installed, 0 to remove and 0 not upgraded. 119s Need to get 109 MB of archives. 119s After this operation, 496 MB of additional disk space will be used. 119s Get:1 http://ftpmaster.internal/ubuntu plucky/main ppc64el fonts-dejavu-mono all 2.37-8 [502 kB] 120s Get:2 http://ftpmaster.internal/ubuntu plucky/main ppc64el fonts-dejavu-core all 2.37-8 [835 kB] 120s Get:3 http://ftpmaster.internal/ubuntu plucky/main ppc64el fontconfig-config ppc64el 2.15.0-2ubuntu1 [37.5 kB] 120s Get:4 http://ftpmaster.internal/ubuntu plucky/main ppc64el libfontconfig1 ppc64el 2.15.0-2ubuntu1 [188 kB] 120s Get:5 http://ftpmaster.internal/ubuntu plucky/main ppc64el fontconfig ppc64el 2.15.0-2ubuntu1 [192 kB] 120s Get:6 http://ftpmaster.internal/ubuntu plucky/main ppc64el fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 121s Get:7 http://ftpmaster.internal/ubuntu plucky/universe ppc64el fonts-glyphicons-halflings all 1.009~3.4.1+dfsg-3 [118 kB] 121s Get:8 http://ftpmaster.internal/ubuntu plucky/main ppc64el fonts-mathjax all 2.7.9+dfsg-1 [2208 kB] 121s Get:9 http://ftpmaster.internal/ubuntu plucky/main ppc64el javascript-common all 12 [5216 B] 121s Get:10 http://ftpmaster.internal/ubuntu plucky/main ppc64el libblas3 ppc64el 3.12.1-2 [239 kB] 121s Get:11 http://ftpmaster.internal/ubuntu plucky/main ppc64el libpixman-1-0 ppc64el 0.44.0-3 [334 kB] 121s Get:12 http://ftpmaster.internal/ubuntu plucky/main ppc64el libxcb-render0 ppc64el 1.17.0-2 [17.2 kB] 121s Get:13 http://ftpmaster.internal/ubuntu plucky/main ppc64el libxcb-shm0 ppc64el 1.17.0-2 [5980 B] 121s Get:14 http://ftpmaster.internal/ubuntu plucky/main ppc64el libxrender1 ppc64el 1:0.9.10-1.1build1 [23.1 kB] 121s Get:15 http://ftpmaster.internal/ubuntu plucky/main ppc64el libcairo2 ppc64el 1.18.2-2 [747 kB] 122s Get:16 http://ftpmaster.internal/ubuntu plucky/main ppc64el libdatrie1 ppc64el 0.2.13-3build1 [22.7 kB] 122s Get:17 http://ftpmaster.internal/ubuntu plucky/main ppc64el libdeflate0 ppc64el 1.23-1 [63.4 kB] 122s Get:18 http://ftpmaster.internal/ubuntu plucky/main ppc64el libgfortran5 ppc64el 15-20250222-0ubuntu1 [612 kB] 122s Get:19 http://ftpmaster.internal/ubuntu plucky/main ppc64el libgomp1 ppc64el 15-20250222-0ubuntu1 [168 kB] 122s Get:20 http://ftpmaster.internal/ubuntu plucky/main ppc64el libgraphite2-3 ppc64el 1.3.14-2ubuntu1 [84.6 kB] 122s Get:21 http://ftpmaster.internal/ubuntu plucky/main ppc64el libharfbuzz0b ppc64el 10.2.0-1 [598 kB] 122s Get:22 http://ftpmaster.internal/ubuntu plucky/main ppc64el x11-common all 1:7.7+23ubuntu3 [21.7 kB] 122s Get:23 http://ftpmaster.internal/ubuntu plucky/main ppc64el libice6 ppc64el 2:1.1.1-1 [49.9 kB] 122s Get:24 http://ftpmaster.internal/ubuntu plucky/main ppc64el libjpeg-turbo8 ppc64el 2.1.5-3ubuntu2 [215 kB] 122s Get:25 http://ftpmaster.internal/ubuntu plucky/main ppc64el libjpeg8 ppc64el 8c-2ubuntu11 [2148 B] 122s Get:26 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libjs-bootstrap all 3.4.1+dfsg-3 [129 kB] 122s Get:27 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libjs-popper.js all 1.16.1+ds-6 [54.1 kB] 122s Get:28 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libjs-bootstrap4 all 4.6.1+dfsg1-4 [537 kB] 122s Get:29 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libjs-d3 all 3.5.17-4 [132 kB] 122s Get:30 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libjs-es5-shim all 4.6.7-2 [39.8 kB] 122s Get:31 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libjs-highlight.js all 9.18.5+dfsg1-2 [385 kB] 122s Get:32 http://ftpmaster.internal/ubuntu plucky/main ppc64el libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 122s Get:33 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libjs-jquery-datatables all 1.11.5+dfsg-2 [146 kB] 122s Get:34 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libjs-sifter.js all 0.6.0+dfsg-3 [12.6 kB] 122s Get:35 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libjs-microplugin.js all 0.0.3+dfsg-1.1 [3712 B] 122s Get:36 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libjs-jquery-selectize.js all 0.12.6+dfsg-1.1 [51.0 kB] 122s Get:37 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libjs-jquery-ui all 1.13.2+dfsg-1 [252 kB] 122s Get:38 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libjs-json all 0~20221030+~1.0.8-1 [20.6 kB] 122s Get:39 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libjs-prettify all 2015.12.04+dfsg-1.1 [39.3 kB] 122s Get:40 http://ftpmaster.internal/ubuntu plucky/main ppc64el liblapack3 ppc64el 3.12.1-2 [2813 kB] 122s Get:41 http://ftpmaster.internal/ubuntu plucky/main ppc64el liblerc4 ppc64el 4.0.0+ds-5ubuntu1 [298 kB] 122s Get:42 http://ftpmaster.internal/ubuntu plucky/main ppc64el liblua5.4-0 ppc64el 5.4.7-1 [211 kB] 123s Get:43 http://ftpmaster.internal/ubuntu plucky/main ppc64el libthai-data all 0.1.29-2build1 [158 kB] 123s Get:44 http://ftpmaster.internal/ubuntu plucky/main ppc64el libthai0 ppc64el 0.1.29-2build1 [21.8 kB] 123s Get:45 http://ftpmaster.internal/ubuntu plucky/main ppc64el libpango-1.0-0 ppc64el 1.56.1-1 [277 kB] 123s Get:46 http://ftpmaster.internal/ubuntu plucky/main ppc64el libpangoft2-1.0-0 ppc64el 1.56.1-1 [58.6 kB] 123s Get:47 http://ftpmaster.internal/ubuntu plucky/main ppc64el libpangocairo-1.0-0 ppc64el 1.56.1-1 [30.6 kB] 123s Get:48 http://ftpmaster.internal/ubuntu plucky/main ppc64el libpaper2 ppc64el 2.2.5-0.3 [18.0 kB] 123s Get:49 http://ftpmaster.internal/ubuntu plucky/main ppc64el libpaper-utils ppc64el 2.2.5-0.3 [15.6 kB] 123s Get:50 http://ftpmaster.internal/ubuntu plucky/main ppc64el libsharpyuv0 ppc64el 1.5.0-0.1 [22.3 kB] 123s Get:51 http://ftpmaster.internal/ubuntu plucky/main ppc64el libsm6 ppc64el 2:1.2.4-1 [18.4 kB] 123s Get:52 http://ftpmaster.internal/ubuntu plucky/main ppc64el libtcl8.6 ppc64el 8.6.16+dfsg-1 [1201 kB] 123s Get:53 http://ftpmaster.internal/ubuntu plucky/main ppc64el libjbig0 ppc64el 2.1-6.1ubuntu2 [35.9 kB] 123s Get:54 http://ftpmaster.internal/ubuntu plucky/main ppc64el libwebp7 ppc64el 1.5.0-0.1 [315 kB] 123s Get:55 http://ftpmaster.internal/ubuntu plucky/main ppc64el libtiff6 ppc64el 4.5.1+git230720-4ubuntu4 [272 kB] 123s Get:56 http://ftpmaster.internal/ubuntu plucky/main ppc64el libxft2 ppc64el 2.3.6-1build1 [61.5 kB] 123s Get:57 http://ftpmaster.internal/ubuntu plucky/main ppc64el libxss1 ppc64el 1:1.2.3-1build3 [7980 B] 123s Get:58 http://ftpmaster.internal/ubuntu plucky/main ppc64el libtk8.6 ppc64el 8.6.16-1 [946 kB] 123s Get:59 http://ftpmaster.internal/ubuntu plucky/main ppc64el libxt6t64 ppc64el 1:1.2.1-1.2build1 [202 kB] 123s Get:60 http://ftpmaster.internal/ubuntu plucky/main ppc64el zip ppc64el 3.0-14ubuntu2 [196 kB] 123s Get:61 http://ftpmaster.internal/ubuntu plucky/main ppc64el unzip ppc64el 6.0-28ubuntu6 [200 kB] 123s Get:62 http://ftpmaster.internal/ubuntu plucky/main ppc64el xdg-utils all 1.2.1-2ubuntu1 [66.0 kB] 123s Get:63 http://ftpmaster.internal/ubuntu plucky/universe ppc64el r-base-core ppc64el 4.4.3-1 [29.0 MB] 124s Get:64 http://ftpmaster.internal/ubuntu plucky/universe ppc64el r-cran-littler ppc64el 0.3.20-2 [97.3 kB] 124s Get:65 http://ftpmaster.internal/ubuntu plucky/universe ppc64el littler all 0.3.20-2 [2554 B] 124s Get:66 http://ftpmaster.internal/ubuntu plucky/universe ppc64el node-bootstrap-sass all 3.4.3-2 [187 kB] 124s Get:67 http://ftpmaster.internal/ubuntu plucky/universe ppc64el node-html5shiv all 3.7.3+dfsg-5 [13.5 kB] 124s Get:68 http://ftpmaster.internal/ubuntu plucky/universe ppc64el node-normalize.css all 8.0.1-5 [10.8 kB] 124s Get:69 http://ftpmaster.internal/ubuntu plucky/universe ppc64el pandoc-data all 3.1.11.1-3build1 [78.8 kB] 124s Get:70 http://ftpmaster.internal/ubuntu plucky/universe ppc64el pandoc ppc64el 3.1.11.1+ds-2 [30.4 MB] 125s Get:71 http://ftpmaster.internal/ubuntu plucky/universe ppc64el r-cran-base64enc ppc64el 0.1-3-3 [28.1 kB] 125s Get:72 http://ftpmaster.internal/ubuntu plucky/universe ppc64el r-cran-rlang ppc64el 1.1.5-1 [1740 kB] 125s Get:73 http://ftpmaster.internal/ubuntu plucky/universe ppc64el r-cran-fastmap ppc64el 1.2.0-1 [75.0 kB] 125s Get:74 http://ftpmaster.internal/ubuntu plucky/universe ppc64el r-cran-cachem ppc64el 1.1.0-1 [74.1 kB] 125s Get:75 http://ftpmaster.internal/ubuntu plucky/universe ppc64el r-cran-digest ppc64el 0.6.37-1 [223 kB] 125s Get:76 http://ftpmaster.internal/ubuntu plucky/universe ppc64el r-cran-htmltools ppc64el 0.5.8.1-1 [373 kB] 125s Get:77 http://ftpmaster.internal/ubuntu plucky/universe ppc64el r-cran-jquerylib all 0.1.4+dfsg-4 [13.5 kB] 125s Get:78 http://ftpmaster.internal/ubuntu plucky/universe ppc64el r-cran-jsonlite ppc64el 1.9.1+dfsg-1 [452 kB] 125s Get:79 http://ftpmaster.internal/ubuntu plucky/universe ppc64el r-cran-cli ppc64el 3.6.4-1 [1411 kB] 125s Get:80 http://ftpmaster.internal/ubuntu plucky/universe ppc64el r-cran-glue ppc64el 1.8.0-1 [165 kB] 125s Get:81 http://ftpmaster.internal/ubuntu plucky/universe ppc64el r-cran-lifecycle all 1.0.4+dfsg-1 [110 kB] 125s Get:82 http://ftpmaster.internal/ubuntu plucky/universe ppc64el r-cran-memoise all 2.0.1-1 [53.9 kB] 125s Get:83 http://ftpmaster.internal/ubuntu plucky/universe ppc64el r-cran-mime ppc64el 0.12-2 [35.9 kB] 125s Get:84 http://ftpmaster.internal/ubuntu plucky/universe ppc64el r-cran-fs ppc64el 1.6.5+dfsg-1 [248 kB] 125s Get:85 http://ftpmaster.internal/ubuntu plucky/universe ppc64el r-cran-r6 all 2.6.1-1 [101 kB] 125s Get:86 http://ftpmaster.internal/ubuntu plucky/universe ppc64el r-cran-rappdirs ppc64el 0.3.3-1 [47.7 kB] 125s Get:87 http://ftpmaster.internal/ubuntu plucky/universe ppc64el r-cran-sass ppc64el 0.4.9+dfsg-1 [1034 kB] 125s Get:88 http://ftpmaster.internal/ubuntu plucky/universe ppc64el r-cran-bslib all 0.8.0+dfsg-1 [4294 kB] 125s Get:89 http://ftpmaster.internal/ubuntu plucky/universe ppc64el r-cran-commonmark ppc64el 1.9.2-2 [141 kB] 125s Get:90 http://ftpmaster.internal/ubuntu plucky/universe ppc64el r-cran-crayon all 1.5.3-1 [165 kB] 125s Get:91 http://ftpmaster.internal/ubuntu plucky/universe ppc64el r-cran-diffobj ppc64el 0.3.5-1 [1118 kB] 125s Get:92 http://ftpmaster.internal/ubuntu plucky/universe ppc64el r-cran-evaluate all 1.0.3-1 [114 kB] 125s Get:93 http://ftpmaster.internal/ubuntu plucky-proposed/universe ppc64el r-cran-fansi ppc64el 1.0.6-1 [637 kB] 125s Get:94 http://ftpmaster.internal/ubuntu plucky/universe ppc64el r-cran-fontawesome all 0.5.3-1 [1331 kB] 125s Get:95 http://ftpmaster.internal/ubuntu plucky/universe ppc64el r-cran-xfun ppc64el 0.51+dfsg-1 [573 kB] 125s Get:96 http://ftpmaster.internal/ubuntu plucky/universe ppc64el r-cran-highr all 0.11+dfsg-1 [38.5 kB] 125s Get:97 http://ftpmaster.internal/ubuntu plucky/universe ppc64el r-cran-pkgkitten all 0.2.4-1 [27.2 kB] 125s Get:98 http://ftpmaster.internal/ubuntu plucky/universe ppc64el r-cran-rcpp ppc64el 1.0.14-1 [2006 kB] 126s Get:99 http://ftpmaster.internal/ubuntu plucky/universe ppc64el r-cran-later ppc64el 1.4.1+dfsg-1 [153 kB] 126s Get:100 http://ftpmaster.internal/ubuntu plucky/universe ppc64el r-cran-magrittr ppc64el 2.0.3-1 [154 kB] 126s Get:101 http://ftpmaster.internal/ubuntu plucky/universe ppc64el r-cran-promises ppc64el 1.3.2+dfsg-1 [297 kB] 126s Get:102 http://ftpmaster.internal/ubuntu plucky/universe ppc64el r-cran-httpuv ppc64el 1.6.15+dfsg-1 [521 kB] 126s Get:103 http://ftpmaster.internal/ubuntu plucky/universe ppc64el r-cran-yaml ppc64el 2.3.10-1 [123 kB] 126s Get:104 http://ftpmaster.internal/ubuntu plucky/main ppc64el libjs-mathjax all 2.7.9+dfsg-1 [5665 kB] 126s Get:105 http://ftpmaster.internal/ubuntu plucky/universe ppc64el r-cran-knitr all 1.49+dfsg-1 [859 kB] 126s Get:106 http://ftpmaster.internal/ubuntu plucky/universe ppc64el r-cran-tinytex all 0.56-1 [148 kB] 126s Get:107 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libjs-modernizr all 3.13.0-0.1 [101 kB] 126s Get:108 http://ftpmaster.internal/ubuntu plucky/universe ppc64el r-cran-xtable all 1:1.8-4-2 [689 kB] 126s Get:109 http://ftpmaster.internal/ubuntu plucky/universe ppc64el r-cran-sourcetools ppc64el 0.1.7-1-1 [52.4 kB] 126s Get:110 http://ftpmaster.internal/ubuntu plucky/universe ppc64el r-cran-withr all 3.0.2+dfsg-1 [214 kB] 126s Get:111 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libjs-twitter-bootstrap-datepicker all 1.3.1+dfsg1-4.1 [28.5 kB] 126s Get:112 http://ftpmaster.internal/ubuntu plucky/universe ppc64el r-cran-shiny all 1.10.0+dfsg-2 [3124 kB] 127s Get:113 http://ftpmaster.internal/ubuntu plucky/universe ppc64el r-cran-rmarkdown all 2.29+dfsg-1 [1501 kB] 127s Get:114 http://ftpmaster.internal/ubuntu plucky/universe ppc64el r-cran-unitizer all 1.4.21-1 [1428 kB] 127s Preconfiguring packages ... 127s Fetched 109 MB in 8s (14.1 MB/s) 127s Selecting previously unselected package fonts-dejavu-mono. 127s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 107193 files and directories currently installed.) 127s Preparing to unpack .../000-fonts-dejavu-mono_2.37-8_all.deb ... 127s Unpacking fonts-dejavu-mono (2.37-8) ... 127s Selecting previously unselected package fonts-dejavu-core. 127s Preparing to unpack .../001-fonts-dejavu-core_2.37-8_all.deb ... 127s Unpacking fonts-dejavu-core (2.37-8) ... 127s Selecting previously unselected package fontconfig-config. 127s Preparing to unpack .../002-fontconfig-config_2.15.0-2ubuntu1_ppc64el.deb ... 127s Unpacking fontconfig-config (2.15.0-2ubuntu1) ... 127s Selecting previously unselected package libfontconfig1:ppc64el. 127s Preparing to unpack .../003-libfontconfig1_2.15.0-2ubuntu1_ppc64el.deb ... 127s Unpacking libfontconfig1:ppc64el (2.15.0-2ubuntu1) ... 127s Selecting previously unselected package fontconfig. 127s Preparing to unpack .../004-fontconfig_2.15.0-2ubuntu1_ppc64el.deb ... 127s Unpacking fontconfig (2.15.0-2ubuntu1) ... 127s Selecting previously unselected package fonts-font-awesome. 127s Preparing to unpack .../005-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 127s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 128s Selecting previously unselected package fonts-glyphicons-halflings. 128s Preparing to unpack .../006-fonts-glyphicons-halflings_1.009~3.4.1+dfsg-3_all.deb ... 128s Unpacking fonts-glyphicons-halflings (1.009~3.4.1+dfsg-3) ... 128s Selecting previously unselected package fonts-mathjax. 128s Preparing to unpack .../007-fonts-mathjax_2.7.9+dfsg-1_all.deb ... 128s Unpacking fonts-mathjax (2.7.9+dfsg-1) ... 128s Selecting previously unselected package javascript-common. 128s Preparing to unpack .../008-javascript-common_12_all.deb ... 128s Unpacking javascript-common (12) ... 128s Selecting previously unselected package libblas3:ppc64el. 128s Preparing to unpack .../009-libblas3_3.12.1-2_ppc64el.deb ... 128s Unpacking libblas3:ppc64el (3.12.1-2) ... 128s Selecting previously unselected package libpixman-1-0:ppc64el. 128s Preparing to unpack .../010-libpixman-1-0_0.44.0-3_ppc64el.deb ... 128s Unpacking libpixman-1-0:ppc64el (0.44.0-3) ... 128s Selecting previously unselected package libxcb-render0:ppc64el. 128s Preparing to unpack .../011-libxcb-render0_1.17.0-2_ppc64el.deb ... 128s Unpacking libxcb-render0:ppc64el (1.17.0-2) ... 128s Selecting previously unselected package libxcb-shm0:ppc64el. 128s Preparing to unpack .../012-libxcb-shm0_1.17.0-2_ppc64el.deb ... 128s Unpacking libxcb-shm0:ppc64el (1.17.0-2) ... 128s Selecting previously unselected package libxrender1:ppc64el. 128s Preparing to unpack .../013-libxrender1_1%3a0.9.10-1.1build1_ppc64el.deb ... 128s Unpacking libxrender1:ppc64el (1:0.9.10-1.1build1) ... 128s Selecting previously unselected package libcairo2:ppc64el. 128s Preparing to unpack .../014-libcairo2_1.18.2-2_ppc64el.deb ... 128s Unpacking libcairo2:ppc64el (1.18.2-2) ... 128s Selecting previously unselected package libdatrie1:ppc64el. 128s Preparing to unpack .../015-libdatrie1_0.2.13-3build1_ppc64el.deb ... 128s Unpacking libdatrie1:ppc64el (0.2.13-3build1) ... 128s Selecting previously unselected package libdeflate0:ppc64el. 128s Preparing to unpack .../016-libdeflate0_1.23-1_ppc64el.deb ... 128s Unpacking libdeflate0:ppc64el (1.23-1) ... 128s Selecting previously unselected package libgfortran5:ppc64el. 128s Preparing to unpack .../017-libgfortran5_15-20250222-0ubuntu1_ppc64el.deb ... 128s Unpacking libgfortran5:ppc64el (15-20250222-0ubuntu1) ... 128s Selecting previously unselected package libgomp1:ppc64el. 128s Preparing to unpack .../018-libgomp1_15-20250222-0ubuntu1_ppc64el.deb ... 128s Unpacking libgomp1:ppc64el (15-20250222-0ubuntu1) ... 128s Selecting previously unselected package libgraphite2-3:ppc64el. 128s Preparing to unpack .../019-libgraphite2-3_1.3.14-2ubuntu1_ppc64el.deb ... 128s Unpacking libgraphite2-3:ppc64el (1.3.14-2ubuntu1) ... 128s Selecting previously unselected package libharfbuzz0b:ppc64el. 128s Preparing to unpack .../020-libharfbuzz0b_10.2.0-1_ppc64el.deb ... 128s Unpacking libharfbuzz0b:ppc64el (10.2.0-1) ... 128s Selecting previously unselected package x11-common. 128s Preparing to unpack .../021-x11-common_1%3a7.7+23ubuntu3_all.deb ... 128s Unpacking x11-common (1:7.7+23ubuntu3) ... 128s Selecting previously unselected package libice6:ppc64el. 128s Preparing to unpack .../022-libice6_2%3a1.1.1-1_ppc64el.deb ... 128s Unpacking libice6:ppc64el (2:1.1.1-1) ... 128s Selecting previously unselected package libjpeg-turbo8:ppc64el. 128s Preparing to unpack .../023-libjpeg-turbo8_2.1.5-3ubuntu2_ppc64el.deb ... 128s Unpacking libjpeg-turbo8:ppc64el (2.1.5-3ubuntu2) ... 128s Selecting previously unselected package libjpeg8:ppc64el. 128s Preparing to unpack .../024-libjpeg8_8c-2ubuntu11_ppc64el.deb ... 128s Unpacking libjpeg8:ppc64el (8c-2ubuntu11) ... 128s Selecting previously unselected package libjs-bootstrap. 128s Preparing to unpack .../025-libjs-bootstrap_3.4.1+dfsg-3_all.deb ... 128s Unpacking libjs-bootstrap (3.4.1+dfsg-3) ... 128s Selecting previously unselected package libjs-popper.js. 128s Preparing to unpack .../026-libjs-popper.js_1.16.1+ds-6_all.deb ... 128s Unpacking libjs-popper.js (1.16.1+ds-6) ... 128s Selecting previously unselected package libjs-bootstrap4. 128s Preparing to unpack .../027-libjs-bootstrap4_4.6.1+dfsg1-4_all.deb ... 128s Unpacking libjs-bootstrap4 (4.6.1+dfsg1-4) ... 128s Selecting previously unselected package libjs-d3. 128s Preparing to unpack .../028-libjs-d3_3.5.17-4_all.deb ... 128s Unpacking libjs-d3 (3.5.17-4) ... 128s Selecting previously unselected package libjs-es5-shim. 128s Preparing to unpack .../029-libjs-es5-shim_4.6.7-2_all.deb ... 128s Unpacking libjs-es5-shim (4.6.7-2) ... 128s Selecting previously unselected package libjs-highlight.js. 128s Preparing to unpack .../030-libjs-highlight.js_9.18.5+dfsg1-2_all.deb ... 128s Unpacking libjs-highlight.js (9.18.5+dfsg1-2) ... 128s Selecting previously unselected package libjs-jquery. 128s Preparing to unpack .../031-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 128s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 128s Selecting previously unselected package libjs-jquery-datatables. 128s Preparing to unpack .../032-libjs-jquery-datatables_1.11.5+dfsg-2_all.deb ... 128s Unpacking libjs-jquery-datatables (1.11.5+dfsg-2) ... 128s Selecting previously unselected package libjs-sifter.js. 128s Preparing to unpack .../033-libjs-sifter.js_0.6.0+dfsg-3_all.deb ... 128s Unpacking libjs-sifter.js (0.6.0+dfsg-3) ... 128s Selecting previously unselected package libjs-microplugin.js. 128s Preparing to unpack .../034-libjs-microplugin.js_0.0.3+dfsg-1.1_all.deb ... 128s Unpacking libjs-microplugin.js (0.0.3+dfsg-1.1) ... 128s Selecting previously unselected package libjs-jquery-selectize.js. 128s Preparing to unpack .../035-libjs-jquery-selectize.js_0.12.6+dfsg-1.1_all.deb ... 128s Unpacking libjs-jquery-selectize.js (0.12.6+dfsg-1.1) ... 128s Selecting previously unselected package libjs-jquery-ui. 128s Preparing to unpack .../036-libjs-jquery-ui_1.13.2+dfsg-1_all.deb ... 128s Unpacking libjs-jquery-ui (1.13.2+dfsg-1) ... 128s Selecting previously unselected package libjs-json. 128s Preparing to unpack .../037-libjs-json_0~20221030+~1.0.8-1_all.deb ... 128s Unpacking libjs-json (0~20221030+~1.0.8-1) ... 128s Selecting previously unselected package libjs-prettify. 128s Preparing to unpack .../038-libjs-prettify_2015.12.04+dfsg-1.1_all.deb ... 128s Unpacking libjs-prettify (2015.12.04+dfsg-1.1) ... 128s Selecting previously unselected package liblapack3:ppc64el. 128s Preparing to unpack .../039-liblapack3_3.12.1-2_ppc64el.deb ... 128s Unpacking liblapack3:ppc64el (3.12.1-2) ... 128s Selecting previously unselected package liblerc4:ppc64el. 128s Preparing to unpack .../040-liblerc4_4.0.0+ds-5ubuntu1_ppc64el.deb ... 128s Unpacking liblerc4:ppc64el (4.0.0+ds-5ubuntu1) ... 128s Selecting previously unselected package liblua5.4-0:ppc64el. 128s Preparing to unpack .../041-liblua5.4-0_5.4.7-1_ppc64el.deb ... 128s Unpacking liblua5.4-0:ppc64el (5.4.7-1) ... 128s Selecting previously unselected package libthai-data. 128s Preparing to unpack .../042-libthai-data_0.1.29-2build1_all.deb ... 128s Unpacking libthai-data (0.1.29-2build1) ... 129s Selecting previously unselected package libthai0:ppc64el. 129s Preparing to unpack .../043-libthai0_0.1.29-2build1_ppc64el.deb ... 129s Unpacking libthai0:ppc64el (0.1.29-2build1) ... 129s Selecting previously unselected package libpango-1.0-0:ppc64el. 129s Preparing to unpack .../044-libpango-1.0-0_1.56.1-1_ppc64el.deb ... 129s Unpacking libpango-1.0-0:ppc64el (1.56.1-1) ... 129s Selecting previously unselected package libpangoft2-1.0-0:ppc64el. 129s Preparing to unpack .../045-libpangoft2-1.0-0_1.56.1-1_ppc64el.deb ... 129s Unpacking libpangoft2-1.0-0:ppc64el (1.56.1-1) ... 129s Selecting previously unselected package libpangocairo-1.0-0:ppc64el. 129s Preparing to unpack .../046-libpangocairo-1.0-0_1.56.1-1_ppc64el.deb ... 129s Unpacking libpangocairo-1.0-0:ppc64el (1.56.1-1) ... 129s Selecting previously unselected package libpaper2:ppc64el. 129s Preparing to unpack .../047-libpaper2_2.2.5-0.3_ppc64el.deb ... 129s Unpacking libpaper2:ppc64el (2.2.5-0.3) ... 129s Selecting previously unselected package libpaper-utils. 129s Preparing to unpack .../048-libpaper-utils_2.2.5-0.3_ppc64el.deb ... 129s Unpacking libpaper-utils (2.2.5-0.3) ... 129s Selecting previously unselected package libsharpyuv0:ppc64el. 129s Preparing to unpack .../049-libsharpyuv0_1.5.0-0.1_ppc64el.deb ... 129s Unpacking libsharpyuv0:ppc64el (1.5.0-0.1) ... 129s Selecting previously unselected package libsm6:ppc64el. 129s Preparing to unpack .../050-libsm6_2%3a1.2.4-1_ppc64el.deb ... 129s Unpacking libsm6:ppc64el (2:1.2.4-1) ... 129s Selecting previously unselected package libtcl8.6:ppc64el. 129s Preparing to unpack .../051-libtcl8.6_8.6.16+dfsg-1_ppc64el.deb ... 129s Unpacking libtcl8.6:ppc64el (8.6.16+dfsg-1) ... 129s Selecting previously unselected package libjbig0:ppc64el. 129s Preparing to unpack .../052-libjbig0_2.1-6.1ubuntu2_ppc64el.deb ... 129s Unpacking libjbig0:ppc64el (2.1-6.1ubuntu2) ... 129s Selecting previously unselected package libwebp7:ppc64el. 129s Preparing to unpack .../053-libwebp7_1.5.0-0.1_ppc64el.deb ... 129s Unpacking libwebp7:ppc64el (1.5.0-0.1) ... 129s Selecting previously unselected package libtiff6:ppc64el. 129s Preparing to unpack .../054-libtiff6_4.5.1+git230720-4ubuntu4_ppc64el.deb ... 129s Unpacking libtiff6:ppc64el (4.5.1+git230720-4ubuntu4) ... 129s Selecting previously unselected package libxft2:ppc64el. 129s Preparing to unpack .../055-libxft2_2.3.6-1build1_ppc64el.deb ... 129s Unpacking libxft2:ppc64el (2.3.6-1build1) ... 129s Selecting previously unselected package libxss1:ppc64el. 129s Preparing to unpack .../056-libxss1_1%3a1.2.3-1build3_ppc64el.deb ... 129s Unpacking libxss1:ppc64el (1:1.2.3-1build3) ... 129s Selecting previously unselected package libtk8.6:ppc64el. 129s Preparing to unpack .../057-libtk8.6_8.6.16-1_ppc64el.deb ... 129s Unpacking libtk8.6:ppc64el (8.6.16-1) ... 129s Selecting previously unselected package libxt6t64:ppc64el. 129s Preparing to unpack .../058-libxt6t64_1%3a1.2.1-1.2build1_ppc64el.deb ... 129s Unpacking libxt6t64:ppc64el (1:1.2.1-1.2build1) ... 129s Selecting previously unselected package zip. 129s Preparing to unpack .../059-zip_3.0-14ubuntu2_ppc64el.deb ... 129s Unpacking zip (3.0-14ubuntu2) ... 129s Selecting previously unselected package unzip. 129s Preparing to unpack .../060-unzip_6.0-28ubuntu6_ppc64el.deb ... 129s Unpacking unzip (6.0-28ubuntu6) ... 129s Selecting previously unselected package xdg-utils. 129s Preparing to unpack .../061-xdg-utils_1.2.1-2ubuntu1_all.deb ... 129s Unpacking xdg-utils (1.2.1-2ubuntu1) ... 129s Selecting previously unselected package r-base-core. 129s Preparing to unpack .../062-r-base-core_4.4.3-1_ppc64el.deb ... 129s Unpacking r-base-core (4.4.3-1) ... 129s Selecting previously unselected package r-cran-littler. 129s Preparing to unpack .../063-r-cran-littler_0.3.20-2_ppc64el.deb ... 129s Unpacking r-cran-littler (0.3.20-2) ... 129s Selecting previously unselected package littler. 129s Preparing to unpack .../064-littler_0.3.20-2_all.deb ... 129s Unpacking littler (0.3.20-2) ... 129s Selecting previously unselected package node-bootstrap-sass. 129s Preparing to unpack .../065-node-bootstrap-sass_3.4.3-2_all.deb ... 129s Unpacking node-bootstrap-sass (3.4.3-2) ... 129s Selecting previously unselected package node-html5shiv. 129s Preparing to unpack .../066-node-html5shiv_3.7.3+dfsg-5_all.deb ... 129s Unpacking node-html5shiv (3.7.3+dfsg-5) ... 129s Selecting previously unselected package node-normalize.css. 129s Preparing to unpack .../067-node-normalize.css_8.0.1-5_all.deb ... 129s Unpacking node-normalize.css (8.0.1-5) ... 129s Selecting previously unselected package pandoc-data. 129s Preparing to unpack .../068-pandoc-data_3.1.11.1-3build1_all.deb ... 129s Unpacking pandoc-data (3.1.11.1-3build1) ... 129s Selecting previously unselected package pandoc. 129s Preparing to unpack .../069-pandoc_3.1.11.1+ds-2_ppc64el.deb ... 129s Unpacking pandoc (3.1.11.1+ds-2) ... 130s Selecting previously unselected package r-cran-base64enc. 130s Preparing to unpack .../070-r-cran-base64enc_0.1-3-3_ppc64el.deb ... 130s Unpacking r-cran-base64enc (0.1-3-3) ... 131s Selecting previously unselected package r-cran-rlang. 131s Preparing to unpack .../071-r-cran-rlang_1.1.5-1_ppc64el.deb ... 131s Unpacking r-cran-rlang (1.1.5-1) ... 131s Selecting previously unselected package r-cran-fastmap. 131s Preparing to unpack .../072-r-cran-fastmap_1.2.0-1_ppc64el.deb ... 131s Unpacking r-cran-fastmap (1.2.0-1) ... 131s Selecting previously unselected package r-cran-cachem. 131s Preparing to unpack .../073-r-cran-cachem_1.1.0-1_ppc64el.deb ... 131s Unpacking r-cran-cachem (1.1.0-1) ... 131s Selecting previously unselected package r-cran-digest. 131s Preparing to unpack .../074-r-cran-digest_0.6.37-1_ppc64el.deb ... 131s Unpacking r-cran-digest (0.6.37-1) ... 131s Selecting previously unselected package r-cran-htmltools. 131s Preparing to unpack .../075-r-cran-htmltools_0.5.8.1-1_ppc64el.deb ... 131s Unpacking r-cran-htmltools (0.5.8.1-1) ... 131s Selecting previously unselected package r-cran-jquerylib. 131s Preparing to unpack .../076-r-cran-jquerylib_0.1.4+dfsg-4_all.deb ... 131s Unpacking r-cran-jquerylib (0.1.4+dfsg-4) ... 131s Selecting previously unselected package r-cran-jsonlite. 131s Preparing to unpack .../077-r-cran-jsonlite_1.9.1+dfsg-1_ppc64el.deb ... 131s Unpacking r-cran-jsonlite (1.9.1+dfsg-1) ... 131s Selecting previously unselected package r-cran-cli. 131s Preparing to unpack .../078-r-cran-cli_3.6.4-1_ppc64el.deb ... 131s Unpacking r-cran-cli (3.6.4-1) ... 131s Selecting previously unselected package r-cran-glue. 131s Preparing to unpack .../079-r-cran-glue_1.8.0-1_ppc64el.deb ... 131s Unpacking r-cran-glue (1.8.0-1) ... 131s Selecting previously unselected package r-cran-lifecycle. 131s Preparing to unpack .../080-r-cran-lifecycle_1.0.4+dfsg-1_all.deb ... 131s Unpacking r-cran-lifecycle (1.0.4+dfsg-1) ... 131s Selecting previously unselected package r-cran-memoise. 131s Preparing to unpack .../081-r-cran-memoise_2.0.1-1_all.deb ... 131s Unpacking r-cran-memoise (2.0.1-1) ... 131s Selecting previously unselected package r-cran-mime. 131s Preparing to unpack .../082-r-cran-mime_0.12-2_ppc64el.deb ... 131s Unpacking r-cran-mime (0.12-2) ... 131s Selecting previously unselected package r-cran-fs. 131s Preparing to unpack .../083-r-cran-fs_1.6.5+dfsg-1_ppc64el.deb ... 131s Unpacking r-cran-fs (1.6.5+dfsg-1) ... 131s Selecting previously unselected package r-cran-r6. 131s Preparing to unpack .../084-r-cran-r6_2.6.1-1_all.deb ... 131s Unpacking r-cran-r6 (2.6.1-1) ... 131s Selecting previously unselected package r-cran-rappdirs. 131s Preparing to unpack .../085-r-cran-rappdirs_0.3.3-1_ppc64el.deb ... 131s Unpacking r-cran-rappdirs (0.3.3-1) ... 131s Selecting previously unselected package r-cran-sass. 131s Preparing to unpack .../086-r-cran-sass_0.4.9+dfsg-1_ppc64el.deb ... 131s Unpacking r-cran-sass (0.4.9+dfsg-1) ... 131s Selecting previously unselected package r-cran-bslib. 131s Preparing to unpack .../087-r-cran-bslib_0.8.0+dfsg-1_all.deb ... 131s Unpacking r-cran-bslib (0.8.0+dfsg-1) ... 131s Selecting previously unselected package r-cran-commonmark. 131s Preparing to unpack .../088-r-cran-commonmark_1.9.2-2_ppc64el.deb ... 131s Unpacking r-cran-commonmark (1.9.2-2) ... 131s Selecting previously unselected package r-cran-crayon. 131s Preparing to unpack .../089-r-cran-crayon_1.5.3-1_all.deb ... 131s Unpacking r-cran-crayon (1.5.3-1) ... 131s Selecting previously unselected package r-cran-diffobj. 131s Preparing to unpack .../090-r-cran-diffobj_0.3.5-1_ppc64el.deb ... 131s Unpacking r-cran-diffobj (0.3.5-1) ... 131s Selecting previously unselected package r-cran-evaluate. 131s Preparing to unpack .../091-r-cran-evaluate_1.0.3-1_all.deb ... 131s Unpacking r-cran-evaluate (1.0.3-1) ... 131s Selecting previously unselected package r-cran-fansi. 131s Preparing to unpack .../092-r-cran-fansi_1.0.6-1_ppc64el.deb ... 131s Unpacking r-cran-fansi (1.0.6-1) ... 131s Selecting previously unselected package r-cran-fontawesome. 131s Preparing to unpack .../093-r-cran-fontawesome_0.5.3-1_all.deb ... 131s Unpacking r-cran-fontawesome (0.5.3-1) ... 131s Selecting previously unselected package r-cran-xfun. 131s Preparing to unpack .../094-r-cran-xfun_0.51+dfsg-1_ppc64el.deb ... 131s Unpacking r-cran-xfun (0.51+dfsg-1) ... 131s Selecting previously unselected package r-cran-highr. 131s Preparing to unpack .../095-r-cran-highr_0.11+dfsg-1_all.deb ... 131s Unpacking r-cran-highr (0.11+dfsg-1) ... 131s Selecting previously unselected package r-cran-pkgkitten. 131s Preparing to unpack .../096-r-cran-pkgkitten_0.2.4-1_all.deb ... 131s Unpacking r-cran-pkgkitten (0.2.4-1) ... 131s Selecting previously unselected package r-cran-rcpp. 131s Preparing to unpack .../097-r-cran-rcpp_1.0.14-1_ppc64el.deb ... 131s Unpacking r-cran-rcpp (1.0.14-1) ... 131s Selecting previously unselected package r-cran-later. 131s Preparing to unpack .../098-r-cran-later_1.4.1+dfsg-1_ppc64el.deb ... 131s Unpacking r-cran-later (1.4.1+dfsg-1) ... 131s Selecting previously unselected package r-cran-magrittr. 131s Preparing to unpack .../099-r-cran-magrittr_2.0.3-1_ppc64el.deb ... 131s Unpacking r-cran-magrittr (2.0.3-1) ... 131s Selecting previously unselected package r-cran-promises. 131s Preparing to unpack .../100-r-cran-promises_1.3.2+dfsg-1_ppc64el.deb ... 131s Unpacking r-cran-promises (1.3.2+dfsg-1) ... 131s Selecting previously unselected package r-cran-httpuv. 131s Preparing to unpack .../101-r-cran-httpuv_1.6.15+dfsg-1_ppc64el.deb ... 131s Unpacking r-cran-httpuv (1.6.15+dfsg-1) ... 131s Selecting previously unselected package r-cran-yaml. 131s Preparing to unpack .../102-r-cran-yaml_2.3.10-1_ppc64el.deb ... 131s Unpacking r-cran-yaml (2.3.10-1) ... 132s Selecting previously unselected package libjs-mathjax. 132s Preparing to unpack .../103-libjs-mathjax_2.7.9+dfsg-1_all.deb ... 132s Unpacking libjs-mathjax (2.7.9+dfsg-1) ... 132s Selecting previously unselected package r-cran-knitr. 132s Preparing to unpack .../104-r-cran-knitr_1.49+dfsg-1_all.deb ... 132s Unpacking r-cran-knitr (1.49+dfsg-1) ... 132s Selecting previously unselected package r-cran-tinytex. 132s Preparing to unpack .../105-r-cran-tinytex_0.56-1_all.deb ... 132s Unpacking r-cran-tinytex (0.56-1) ... 132s Selecting previously unselected package libjs-modernizr. 132s Preparing to unpack .../106-libjs-modernizr_3.13.0-0.1_all.deb ... 132s Unpacking libjs-modernizr (3.13.0-0.1) ... 132s Selecting previously unselected package r-cran-xtable. 132s Preparing to unpack .../107-r-cran-xtable_1%3a1.8-4-2_all.deb ... 132s Unpacking r-cran-xtable (1:1.8-4-2) ... 132s Selecting previously unselected package r-cran-sourcetools. 132s Preparing to unpack .../108-r-cran-sourcetools_0.1.7-1-1_ppc64el.deb ... 132s Unpacking r-cran-sourcetools (0.1.7-1-1) ... 132s Selecting previously unselected package r-cran-withr. 132s Preparing to unpack .../109-r-cran-withr_3.0.2+dfsg-1_all.deb ... 132s Unpacking r-cran-withr (3.0.2+dfsg-1) ... 132s Selecting previously unselected package libjs-twitter-bootstrap-datepicker. 132s Preparing to unpack .../110-libjs-twitter-bootstrap-datepicker_1.3.1+dfsg1-4.1_all.deb ... 132s Unpacking libjs-twitter-bootstrap-datepicker (1.3.1+dfsg1-4.1) ... 133s Selecting previously unselected package r-cran-shiny. 133s Preparing to unpack .../111-r-cran-shiny_1.10.0+dfsg-2_all.deb ... 133s Unpacking r-cran-shiny (1.10.0+dfsg-2) ... 133s Selecting previously unselected package r-cran-rmarkdown. 133s Preparing to unpack .../112-r-cran-rmarkdown_2.29+dfsg-1_all.deb ... 133s Unpacking r-cran-rmarkdown (2.29+dfsg-1) ... 133s Selecting previously unselected package r-cran-unitizer. 133s Preparing to unpack .../113-r-cran-unitizer_1.4.21-1_all.deb ... 133s Unpacking r-cran-unitizer (1.4.21-1) ... 133s Setting up libjs-json (0~20221030+~1.0.8-1) ... 133s Setting up javascript-common (12) ... 133s Setting up libgraphite2-3:ppc64el (1.3.14-2ubuntu1) ... 133s Setting up libpixman-1-0:ppc64el (0.44.0-3) ... 133s Setting up libsharpyuv0:ppc64el (1.5.0-0.1) ... 133s Setting up fonts-mathjax (2.7.9+dfsg-1) ... 133s Setting up liblerc4:ppc64el (4.0.0+ds-5ubuntu1) ... 133s Setting up libjs-mathjax (2.7.9+dfsg-1) ... 133s Setting up libxrender1:ppc64el (1:0.9.10-1.1build1) ... 133s Setting up libdatrie1:ppc64el (0.2.13-3build1) ... 133s Setting up libjs-popper.js (1.16.1+ds-6) ... 133s Setting up libxcb-render0:ppc64el (1.17.0-2) ... 133s Setting up libjs-sifter.js (0.6.0+dfsg-3) ... 133s Setting up fonts-glyphicons-halflings (1.009~3.4.1+dfsg-3) ... 133s Setting up unzip (6.0-28ubuntu6) ... 133s Setting up x11-common (1:7.7+23ubuntu3) ... 133s Setting up node-html5shiv (3.7.3+dfsg-5) ... 133s Setting up libdeflate0:ppc64el (1.23-1) ... 133s Setting up libjs-microplugin.js (0.0.3+dfsg-1.1) ... 133s Setting up libxcb-shm0:ppc64el (1.17.0-2) ... 133s Setting up libgomp1:ppc64el (15-20250222-0ubuntu1) ... 133s Setting up libjs-modernizr (3.13.0-0.1) ... 133s Setting up libjbig0:ppc64el (2.1-6.1ubuntu2) ... 133s Setting up libjs-es5-shim (4.6.7-2) ... 133s Setting up zip (3.0-14ubuntu2) ... 133s Setting up libblas3:ppc64el (3.12.1-2) ... 133s update-alternatives: using /usr/lib/powerpc64le-linux-gnu/blas/libblas.so.3 to provide /usr/lib/powerpc64le-linux-gnu/libblas.so.3 (libblas.so.3-powerpc64le-linux-gnu) in auto mode 133s Setting up libjs-d3 (3.5.17-4) ... 133s Setting up fonts-dejavu-mono (2.37-8) ... 133s Setting up libtcl8.6:ppc64el (8.6.16+dfsg-1) ... 133s Setting up fonts-dejavu-core (2.37-8) ... 133s Setting up libjpeg-turbo8:ppc64el (2.1.5-3ubuntu2) ... 133s Setting up libgfortran5:ppc64el (15-20250222-0ubuntu1) ... 133s Setting up libwebp7:ppc64el (1.5.0-0.1) ... 133s Setting up libjs-highlight.js (9.18.5+dfsg1-2) ... 133s Setting up liblua5.4-0:ppc64el (5.4.7-1) ... 133s Setting up libharfbuzz0b:ppc64el (10.2.0-1) ... 133s Setting up libthai-data (0.1.29-2build1) ... 133s Setting up node-bootstrap-sass (3.4.3-2) ... 133s Setting up libjs-prettify (2015.12.04+dfsg-1.1) ... 133s Setting up libxss1:ppc64el (1:1.2.3-1build3) ... 133s Setting up libjs-bootstrap4 (4.6.1+dfsg1-4) ... 133s Setting up libpaper2:ppc64el (2.2.5-0.3) ... 133s Setting up pandoc-data (3.1.11.1-3build1) ... 133s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 133s Setting up node-normalize.css (8.0.1-5) ... 133s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 133s Setting up xdg-utils (1.2.1-2ubuntu1) ... 133s update-alternatives: using /usr/bin/xdg-open to provide /usr/bin/open (open) in auto mode 133s Setting up libjs-bootstrap (3.4.1+dfsg-3) ... 133s Setting up libjs-jquery-selectize.js (0.12.6+dfsg-1.1) ... 133s Setting up libjpeg8:ppc64el (8c-2ubuntu11) ... 133s Setting up libice6:ppc64el (2:1.1.1-1) ... 133s Setting up liblapack3:ppc64el (3.12.1-2) ... 133s update-alternatives: using /usr/lib/powerpc64le-linux-gnu/lapack/liblapack.so.3 to provide /usr/lib/powerpc64le-linux-gnu/liblapack.so.3 (liblapack.so.3-powerpc64le-linux-gnu) in auto mode 133s Setting up fontconfig-config (2.15.0-2ubuntu1) ... 134s Setting up libjs-twitter-bootstrap-datepicker (1.3.1+dfsg1-4.1) ... 134s Setting up libpaper-utils (2.2.5-0.3) ... 134s Setting up libjs-jquery-datatables (1.11.5+dfsg-2) ... 134s Setting up libthai0:ppc64el (0.1.29-2build1) ... 134s Setting up libjs-jquery-ui (1.13.2+dfsg-1) ... 134s Setting up pandoc (3.1.11.1+ds-2) ... 134s Setting up libtiff6:ppc64el (4.5.1+git230720-4ubuntu4) ... 134s Setting up libfontconfig1:ppc64el (2.15.0-2ubuntu1) ... 134s Setting up libsm6:ppc64el (2:1.2.4-1) ... 134s Setting up fontconfig (2.15.0-2ubuntu1) ... 136s Regenerating fonts cache... done. 136s Setting up libxft2:ppc64el (2.3.6-1build1) ... 136s Setting up libtk8.6:ppc64el (8.6.16-1) ... 136s Setting up libpango-1.0-0:ppc64el (1.56.1-1) ... 136s Setting up libcairo2:ppc64el (1.18.2-2) ... 136s Setting up libxt6t64:ppc64el (1:1.2.1-1.2build1) ... 136s Setting up libpangoft2-1.0-0:ppc64el (1.56.1-1) ... 136s Setting up libpangocairo-1.0-0:ppc64el (1.56.1-1) ... 136s Setting up r-base-core (4.4.3-1) ... 136s Creating config file /etc/R/Renviron with new version 136s Setting up r-cran-crayon (1.5.3-1) ... 136s Setting up r-cran-sourcetools (0.1.7-1-1) ... 136s Setting up r-cran-commonmark (1.9.2-2) ... 136s Setting up r-cran-r6 (2.6.1-1) ... 136s Setting up r-cran-pkgkitten (0.2.4-1) ... 136s Setting up r-cran-magrittr (2.0.3-1) ... 136s Setting up r-cran-rappdirs (0.3.3-1) ... 136s Setting up r-cran-littler (0.3.20-2) ... 136s Setting up r-cran-fs (1.6.5+dfsg-1) ... 136s Setting up r-cran-rcpp (1.0.14-1) ... 136s Setting up r-cran-diffobj (0.3.5-1) ... 136s Setting up r-cran-rlang (1.1.5-1) ... 136s Setting up littler (0.3.20-2) ... 136s Setting up r-cran-xfun (0.51+dfsg-1) ... 136s Setting up r-cran-withr (3.0.2+dfsg-1) ... 136s Setting up r-cran-mime (0.12-2) ... 136s Setting up r-cran-base64enc (0.1-3-3) ... 136s Setting up r-cran-digest (0.6.37-1) ... 136s Setting up r-cran-yaml (2.3.10-1) ... 136s Setting up r-cran-evaluate (1.0.3-1) ... 136s Setting up r-cran-highr (0.11+dfsg-1) ... 136s Setting up r-cran-fansi (1.0.6-1) ... 136s Setting up r-cran-glue (1.8.0-1) ... 136s Setting up r-cran-xtable (1:1.8-4-2) ... 136s Setting up r-cran-cli (3.6.4-1) ... 136s Setting up r-cran-lifecycle (1.0.4+dfsg-1) ... 136s Setting up r-cran-fastmap (1.2.0-1) ... 136s Setting up r-cran-jsonlite (1.9.1+dfsg-1) ... 136s Setting up r-cran-later (1.4.1+dfsg-1) ... 136s Setting up r-cran-htmltools (0.5.8.1-1) ... 136s Setting up r-cran-tinytex (0.56-1) ... 136s Setting up r-cran-knitr (1.49+dfsg-1) ... 136s Setting up r-cran-cachem (1.1.0-1) ... 136s Setting up r-cran-sass (0.4.9+dfsg-1) ... 136s Setting up r-cran-unitizer (1.4.21-1) ... 136s Setting up r-cran-fontawesome (0.5.3-1) ... 136s Setting up r-cran-jquerylib (0.1.4+dfsg-4) ... 136s Setting up r-cran-memoise (2.0.1-1) ... 136s Setting up r-cran-promises (1.3.2+dfsg-1) ... 136s Setting up r-cran-httpuv (1.6.15+dfsg-1) ... 136s Setting up r-cran-bslib (0.8.0+dfsg-1) ... 136s Setting up r-cran-shiny (1.10.0+dfsg-2) ... 136s Setting up r-cran-rmarkdown (2.29+dfsg-1) ... 136s Processing triggers for libc-bin (2.41-1ubuntu1) ... 136s Processing triggers for man-db (2.13.0-1) ... 138s Processing triggers for install-info (7.1.1-1) ... 139s autopkgtest [10:54:04]: test run-unit-test: [----------------------- 139s BEGIN TEST run.R 139s 139s R version 4.4.3 (2025-02-28) -- "Trophy Case" 139s Copyright (C) 2025 The R Foundation for Statistical Computing 139s Platform: powerpc64le-unknown-linux-gnu 139s 139s R is free software and comes with ABSOLUTELY NO WARRANTY. 139s You are welcome to redistribute it under certain conditions. 139s Type 'license()' or 'licence()' for distribution details. 139s 139s R is a collaborative project with many contributors. 139s Type 'contributors()' for more information and 139s 'citation()' on how to cite R or R packages in publications. 139s 139s Type 'demo()' for some demos, 'help()' for on-line help, or 139s 'help.start()' for an HTML browser interface to help. 139s Type 'q()' to quit R. 139s 139s > # to avoid variability on terminals with different capabilities 139s > # plus generally random options being set 139s > 139s > if(getRversion() < "3.2.2") { 139s + warning("Cannot run tests with R version less than 3.2.2.") 139s + } else if(!suppressWarnings(require('fansi'))) { 139s + # this is to avoid accidentally running tests under valgrind without fansi 139s + # installed... (no, we've never done this...) 139s + warning("Cannot run tests without package `fansi`") 139s + } else if(!suppressWarnings(require('unitizer'))) { 139s + warning("Cannot run tests without package `unitizer`") 139s + } else { 139s + old.opt <- options( 139s + fansi.tabs.as.spaces=FALSE, 139s + fansi.tab.stops=8L, 139s + fansi.warn=TRUE, 139s + fansi.term.cap=c('bright', '256') 139s + # warnPartialMatchArgs = TRUE, 139s + # warnPartialMatchAttr = TRUE, 139s + # warnPartialMatchDollar = TRUE 139s + ) 139s + on.exit(old.opt) 139s + pat.all <- "^[^.].*\\.[Rr]$" 139s + pattern <- pat.all 139s + # pattern <- "over" 139s + unitize_dir( 139s + 'unitizer', 139s + pattern=pattern, 139s + state='suggested' 139s + ) 139s + # we skip utf8 tests on solaris due to the problems with deparse (and maybe 139s + # others, don't have a solaris system handy for testing). 139s + if( 139s + !grepl("solaris|sun", Sys.info()[['sysname']], ignore.case=TRUE) && 139s + identical(pattern, pat.all) 139s + ) { 139s + unitize('special/utf8.R', state='suggested') 139s + } 139s + # UCD 12.1 update in 4.0.4 produces correct widths for emoji 139s + if(getRversion() >= "4.0.4" && identical(pattern, pat.all)) 139s + unitize('special/emo-graph.R', state='suggested') 139s + } 139s Loading required package: fansi 139s Loading required package: unitizer 139s State tracking is disabled by default to comply with CRAN policies. Add `options(unitizer.state='suggested')` to your 'Rprofile' file to enable, or `options(unitizer.state='off')` to quash this message without enabling. Prior to enabling, be sure to read `?unitizerState`,in particular the 'CRAN non-compliance' section. 139s 140s Preloads... 140s Loading unitizer data... 140s Parsing tests... 140s Parsing has.R 140s Parsing interactions.R 140s Parsing misc.R 140s Parsing nchar.R 140s Parsing normalize.R 140s Parsing overflow.R 140s Parsing strip.R 140s Parsing strsplit.R 140s Parsing substr.R 140s Parsing tabs.R 140s Parsing tohtml.R 140s Parsing trimws.R 140s Parsing url.R 140s Parsing wrap.R 141s Evaluating tests... 141s 141s 1/14 has.R: 141s 1/14 has.R: library(fansi) 141s 1/14 has.R: unitizer_sect("has", { 141s 1/14 has.R: has_ctl(paste0(red, "hello", end)) 141s [1] TRUE 141s 1/14 has.R: has_ctl(paste0("hello", end)) 141s [1] TRUE 141s 1/14 has.R: has_ctl(paste0("hello")) 141s [1] FALSE 141s 1/14 has.R: in.middle <- c("world", paste0("hello", red), "wow") 141s 1/14 has.R: in.end <- c("world", "wow", paste0("hello", red)) 141s 1/14 has.R: in.start <- c(paste0("hello", red), "wow", "world") 141s 1/14 has.R: has_ctl(in.middle) 141s [1] FALSE TRUE FALSE 141s 1/14 has.R: has_ctl(in.end) 141s [1] FALSE FALSE TRUE 141s 1/14 has.R: has_ctl(in.start) 141s [1] TRUE FALSE FALSE 141s 1/14 has.R: has_ctl(c(in.start, NA)) 141s [1] TRUE FALSE FALSE NA 141s 1/14 has.R: has_ctl("hello\nworld") 141s [1] TRUE 141s 1/14 has.R: has_sgr("hello\nworld") 141s [1] FALSE 141s 1/14 has.R: has_sgr(in.end) 141s [1] FALSE FALSE TRUE 141s 1/14 has.R: has_ctl("hello\033p world") 141s [1] TRUE 141s 1/14 has.R: unitizer_sect("corner cases", { 141s 1/14 has.R: has_ctl("hello\033[31#0mworld") 141s [1] TRUE 141s 1/14 has.R: suppressWarnings(has_ctl("hello\033[31#0mworld")) 141s [1] TRUE 141s 1/14 has.R: has_ctl("hello world", ctl = c("sgr", "sgr")) 141s [1] FALSE 141s 1/14 has.R: has_ctl("hello\033[31#0") 141s [1] TRUE 141s Warning in has_ctl("hello\033[31#0") : 141s Argument `x` contains a malformed CSI or OSC sequence at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 141s 1/14 has.R: unitizer_sect("select ctl", { 141s 1/14 has.R: has_ctl("hello\033[31mworld", ctl = c("sgr")) 141s [1] TRUE 141s 1/14 has.R: has_ctl("hello\033[31mworld", ctl = c("csi")) 141s [1] FALSE 141s 1/14 has.R: has_ctl("hello\033[31!mworld", ctl = c("sgr")) 141s [1] TRUE 141s 1/14 has.R: has_ctl("hello\033[31!mworld", ctl = c("csi")) 141s [1] FALSE 141s 1/14 has.R: has_ctl("hello\033[31lworld", ctl = c("csi")) 141s [1] TRUE 141s 1/14 has.R: has_ctl("hello\nworld", ctl = c("all", "nl")) 141s [1] FALSE 141s 1/14 has.R: has_ctl("hello\nworld", ctl = c("all", "c0")) 141s [1] TRUE 141s 1/14 has.R: has_ctl("hello\tworld", ctl = c("all", "c0")) 141s [1] FALSE 141s 1/14 has.R: has_ctl("hello\tworld", ctl = c("c0")) 141s [1] TRUE 141s 1/14 has.R: has_ctl("hello\033pworld", ctl = c("esc")) 141s [1] TRUE 141s 1/14 has.R: has_ctl("hello\033pworld", ctl = c("all", "esc")) 141s [1] FALSE 141s 1/14 has.R: unitizer_sect("bad inputs", { 141s 1/14 has.R: has_ctl("hello world", warn = NULL) 141s Error in has_ctl("hello world", warn = NULL) : 141s Argument `warn` must be TRUE or FALSE. 141s Calls: unitize_dir ... eval -> withVisible -> has_ctl -> VAL_IN_ENV -> stop2 141s 1/14 has.R: has_ctl("hello world", ctl = 1:3) 141s Error in has_ctl("hello world", ctl = 1:3) : 141s Argument `ctl` must be character. 141s Calls: unitize_dir ... eval -> withVisible -> has_ctl -> VAL_IN_ENV -> stop2 141s 1/14 has.R: has_ctl("hello world", ctl = "bananas") 141s Error in has_ctl("hello world", ctl = "bananas") : 141s Argument `ctl` may contain only values in `c("all", "nl", "c0", "sgr", "csi", "esc", "url", "osc")` 141s Calls: unitize_dir ... eval -> withVisible -> has_ctl -> VAL_IN_ENV -> stop2 141s 1/14 has.R: has_ctl("hello world", ctl = NA_character_) 141s Error in has_ctl("hello world", ctl = NA_character_) : 141s Argument `ctl` may contain only values in `c("all", "nl", "c0", "sgr", "csi", "esc", "url", "osc")` 141s Calls: unitize_dir ... eval -> withVisible -> has_ctl -> VAL_IN_ENV -> stop2 141s 1/14 has.R: has_ctl(c("\033[31mhello", "wo\nrld"), ctl = character()) 141s [1] FALSE FALSE 141s 1/14 has.R: unitizer_sect("deprecation", { 141s 1/14 has.R: has_ctl("hello world", which = "sgr") 141s [1] FALSE 141s Parameter `which` has been deprecated; use `ctl` instead. 141s 142s 2/14 interactions.R: 142s 2/14 interactions.R: library(fansi) 142s 2/14 interactions.R: unitizer_sect("substr", { 142s 2/14 interactions.R: str.0 <- c("\033[44mhello", "world") 142s 2/14 interactions.R: substr_ctl(str.0, 2, 4) 142s [1] "\033[44mell\033[0m" "orl" 142s 2/14 interactions.R: substr_ctl(str.0, 2, 4, carry = TRUE) 142s [1] "\033[44mell\033[0m" "\033[44morl\033[0m" 142s 2/14 interactions.R: substr_ctl(str.0, 2, 4, carry = "\033[33m") 142s [1] "\033[33;44mell\033[0m" "\033[33;44morl\033[0m" 142s 2/14 interactions.R: substr2_ctl(str.0, 2, 4, carry = "\033[33m") 142s [1] "\033[33;44mell\033[0m" "\033[33;44morl\033[0m" 142s 2/14 interactions.R: substr_sgr(str.0, 2, 4, carry = "\033[33m") 142s [1] "\033[33;44mell\033[0m" "\033[33;44morl\033[0m" 142s 2/14 interactions.R: substr2_sgr(str.0, 2, 4, carry = "\033[33m") 142s [1] "\033[33;44mell\033[0m" "\033[33;44morl\033[0m" 142s 2/14 interactions.R: str.1 <- c("hello", "\033[44mworld", "barrow") 142s 2/14 interactions.R: substr_ctl(str.1, 2, 4) 142s [1] "ell" "\033[44morl\033[0m" "arr" 142s 2/14 interactions.R: substr_ctl(str.1, 2, 4, carry = TRUE) 142s [1] "ell" "\033[44morl\033[0m" "\033[44marr\033[0m" 142s 2/14 interactions.R: substr_ctl(str.1, 2, 4, carry = "\033[33m") 142s [1] "\033[33mell\033[0m" "\033[33;44morl\033[0m" "\033[33;44marr\033[0m" 142s 2/14 interactions.R: str.2 <- c("\033[33mA\033[44mBCD", "ABCD", "\033[39mABCD") 142s 2/14 interactions.R: substr_ctl(str.2, 2, 2) 142s [1] "\033[33;44mB\033[0m" "B" "B" 142s 2/14 interactions.R: substr_ctl(str.2, 2, 2, carry = TRUE) 142s [1] "\033[33;44mB\033[0m" "\033[33;44mB\033[0m" "\033[44mB\033[0m" 142s 2/14 interactions.R: substr_ctl(str.2, 2, 2, carry = TRUE, terminate = FALSE) 142s [1] "\033[33;44mB" "B" "\033[0;44mB" 142s 2/14 interactions.R: str.3 <- c("\033[35mA\033[42mB", "\033[49mCD") 142s 2/14 interactions.R: substr_ctl(str.3, 2, 2, carry = TRUE, terminate = FALSE) 142s [1] "\033[35;42mB" "\033[0;35mD" 142s 2/14 interactions.R: wrp.0 <- c("once upon \033[44ma time in a land far away ov 142s 2/14 interactions.R: unitizer_sect("wrap/trim", { 142s 2/14 interactions.R: strwrap_ctl(wrp.0, 20) 142s [1] "once upon \033[44ma time in\033[0m" "\033[44ma land far away\033[0m" 142s [3] "\033[44mover\033[0m" "the mountains and" 142s [5] "\033[7msea lived a fair\033[0m" "\033[7mcreature\033[0m" 142s [7] "with \033[4mdark itentions\033[0m" "\033[4mand a yappy dog.\033[0m" 142s 2/14 interactions.R: strwrap_ctl(wrp.0, 20, carry = TRUE) 142s [1] "once upon \033[44ma time in\033[0m" 142s [2] "\033[44ma land far away\033[0m" 142s [3] "\033[44mover\033[0m" 142s [4] "\033[44mthe mountains and\033[0m" 142s [5] "\033[7;44msea lived a fair\033[0m" 142s [6] "\033[7;44mcreature\033[0m" 142s [7] "\033[7;44mwith \033[4mdark itentions\033[0m" 142s [8] "\033[4;7;44mand a yappy dog.\033[0m" 142s 2/14 interactions.R: strwrap_ctl(wrp.0, 20, carry = "\033[33m") 142s [1] "\033[33monce upon \033[44ma time in\033[0m" 142s [2] "\033[33;44ma land far away\033[0m" 142s [3] "\033[33;44mover\033[0m" 142s [4] "\033[33;44mthe mountains and\033[0m" 142s [5] "\033[7;33;44msea lived a fair\033[0m" 142s [6] "\033[7;33;44mcreature\033[0m" 142s [7] "\033[7;33;44mwith \033[4mdark itentions\033[0m" 142s [8] "\033[4;7;33;44mand a yappy dog.\033[0m" 142s 2/14 interactions.R: strwrap_sgr(wrp.0, 20, carry = "\033[33m") 142s [1] "\033[33monce upon \033[44ma time in\033[0m" 142s [2] "\033[33;44ma land far away\033[0m" 142s [3] "\033[33;44mover\033[0m" 142s [4] "\033[33;44mthe mountains and\033[0m" 142s [5] "\033[7;33;44msea lived a fair\033[0m" 142s [6] "\033[7;33;44mcreature\033[0m" 142s [7] "\033[7;33;44mwith \033[4mdark itentions\033[0m" 142s [8] "\033[4;7;33;44mand a yappy dog.\033[0m" 142s 2/14 interactions.R: strwrap2_ctl(wrp.0, 20, carry = "\033[33m") 142s [1] "\033[33monce upon \033[44ma time in\033[0m" 142s [2] "\033[33;44ma land far away\033[0m" 142s [3] "\033[33;44mover\033[0m" 142s [4] "\033[33;44mthe mountains and\033[0m" 142s [5] "\033[7;33;44msea lived a fair\033[0m" 142s [6] "\033[7;33;44mcreature\033[0m" 142s [7] "\033[7;33;44mwith \033[4mdark itentions\033[0m" 142s [8] "\033[4;7;33;44mand a yappy dog.\033[0m" 142s 2/14 interactions.R: strwrap2_sgr(wrp.0, 20, carry = "\033[33m") 142s [1] "\033[33monce upon \033[44ma time in\033[0m" 142s [2] "\033[33;44ma land far away\033[0m" 142s [3] "\033[33;44mover\033[0m" 142s [4] "\033[33;44mthe mountains and\033[0m" 142s [5] "\033[7;33;44msea lived a fair\033[0m" 142s [6] "\033[7;33;44mcreature\033[0m" 142s [7] "\033[7;33;44mwith \033[4mdark itentions\033[0m" 142s [8] "\033[4;7;33;44mand a yappy dog.\033[0m" 142s 2/14 interactions.R: strtrim_ctl(wrp.0, 20, carry = "\033[33m") 142s [1] "\033[33monce upon \033[44ma time in \033[0m" 142s [2] "\033[33;44mthe mountains and \033[7m s\033[0m" 142s [3] "\033[7;33;44mwith \033[4mdark itentions \033[0m" 142s 2/14 interactions.R: strtrim_sgr(wrp.0, 20, carry = "\033[33m") 142s [1] "\033[33monce upon \033[44ma time in \033[0m" 142s [2] "\033[33;44mthe mountains and \033[7m s\033[0m" 142s [3] "\033[7;33;44mwith \033[4mdark itentions \033[0m" 142s 2/14 interactions.R: strtrim2_ctl(wrp.0, 20, carry = "\033[33m") 142s [1] "\033[33monce upon \033[44ma time in \033[0m" 142s [2] "\033[33;44mthe mountains and \033[7m s\033[0m" 142s [3] "\033[7;33;44mwith \033[4mdark itentions \033[0m" 142s 2/14 interactions.R: strtrim2_sgr(wrp.0, 20, carry = "\033[33m") 142s [1] "\033[33monce upon \033[44ma time in \033[0m" 142s [2] "\033[33;44mthe mountains and \033[7m s\033[0m" 142s [3] "\033[7;33;44mwith \033[4mdark itentions \033[0m" 142s 2/14 interactions.R: wrp.1 <- c("once upon \033[44ma time in a land far away ov 142s 2/14 interactions.R: strtrim_ctl(wrp.0, 20, carry = "\033[33m") 142s [1] "\033[33monce upon \033[44ma time in \033[0m" 142s [2] "\033[33;44mthe mountains and \033[7m s\033[0m" 142s [3] "\033[7;33;44mwith \033[4mdark itentions \033[0m" 142s 2/14 interactions.R: wrp.2 <- c("hello \033[42mworld", "goodnight\033[49m moon" 142s 2/14 interactions.R: strwrap_ctl(wrp.2, 10, carry = "\033[35m", simplify = FALS 142s [[1]] 142s [1] "\033[35mhello\033[0m" "\033[35;42mworld\033[0m" 142s 142s [[2]] 142s [1] "\033[35;42mgoodnight\033[0m" "\033[35mmoon\033[0m" 142s 142s [[3]] 142s [1] "\033[35moh \033[39mboy" 142s 142s 2/14 interactions.R: strwrap_ctl(wrp.2, 10, carry = "\033[35m", simplify = FALS 142s [[1]] 142s [1] "hello" "\033[42mworld" 142s 142s [[2]] 142s [1] "goodnight" "\033[0;35mmoon" 142s 142s [[3]] 142s [1] "oh \033[39mboy" 142s 142s 2/14 interactions.R: unitizer_sect("normalize", { 142s 2/14 interactions.R: str.2 <- c("\033[44mhello", "wo\033[mrld", "barrow") 142s 2/14 interactions.R: normalize_state(str.2) 142s [1] "\033[44mhello" "world" "barrow" 142s 2/14 interactions.R: normalize_state(str.2, carry = TRUE) 142s [1] "\033[44mhello" "wo\033[49mrld" "barrow" 142s 2/14 interactions.R: normalize_state(str.2, carry = "\033[33m") 142s [1] "\033[44mhello" "wo\033[39m\033[49mrld" "barrow" 142s 2/14 interactions.R: unitizer_sect("carry corner cases", { 142s 2/14 interactions.R: substr_ctl("", 2, 3, carry = "\033[33m") 142s [1] "" 142s 2/14 interactions.R: substr_ctl("", 2, 3, carry = "\033[33m", terminate = FALSE 142s [1] "" 142s 2/14 interactions.R: substr_ctl("\033[39m", 2, 3, carry = "\033[33m", terminate 142s [1] "\033[0m" 142s 2/14 interactions.R: substr_ctl("\033[39m", 2, 3, carry = "\033[33m", terminate 142s [1] "\033[39m" 142s 2/14 interactions.R: substr_ctl("", 0, 1, carry = "\033[33m") 142s [1] "" 142s 2/14 interactions.R: substr_ctl("", 0, 1, carry = "\033[33m", terminate = FALSE 142s [1] "" 142s 2/14 interactions.R: substr_ctl("\033[39m", 0, 1, carry = "\033[33m", terminate 142s [1] "\033[0m" 142s 2/14 interactions.R: substr_ctl("\033[39m", 0, 1, carry = "\033[33m", terminate 142s [1] "\033[39m" 142s 2/14 interactions.R: substr_ctl("", 0, 0, carry = "\033[33m") 142s [1] "" 142s 2/14 interactions.R: substr_ctl("", 0, 0, carry = "\033[33m", terminate = FALSE 142s [1] "" 142s 2/14 interactions.R: substr_ctl("\033[39m", 0, 0, carry = "\033[33m", terminate 142s [1] "" 142s 2/14 interactions.R: substr_ctl(character(), 2, 4, carry = "\033[33m") 142s character(0) 142s 2/14 interactions.R: substr_ctl(NA, 2, 4, carry = "\033[33m") 142s [1] NA 142s 2/14 interactions.R: substr_ctl(environment(), 2, 4, carry = "\033[33m") 142s Error in as.character(args[["x"]]) : 142s cannot coerce type 'environment' to vector of type 'character' 142s Calls: unitize_dir ... withVisible -> substr_ctl -> substr2_ctl -> VAL_IN_ENV 142s 2/14 interactions.R: substr_ctl("hello", 2, 4, carry = c("\033[33m", "\033[44m" 142s Error in substr2_ctl(x = x, start = start, stop = stop, warn = warn, term.cap = term.cap, : 142s Argument `carry` must be scalar. 142s Calls: unitize_dir ... withVisible -> substr_ctl -> substr2_ctl -> VAL_IN_ENV -> stop2 142s 2/14 interactions.R: substr_ctl(str.0, 2, 4, carry = NA_character_) 142s Error in substr2_ctl(x = x, start = start, stop = stop, warn = warn, term.cap = term.cap, : 142s Argument `carry` may not be NA. 142s Calls: unitize_dir ... withVisible -> substr_ctl -> substr2_ctl -> VAL_IN_ENV -> stop2 142s 2/14 interactions.R: substr_ctl(str.0, 2, 4, carry = character()) 142s Error in substr2_ctl(x = x, start = start, stop = stop, warn = warn, term.cap = term.cap, : 142s Argument `carry` must be scalar. 142s Calls: unitize_dir ... withVisible -> substr_ctl -> substr2_ctl -> VAL_IN_ENV -> stop2 142s 2/14 interactions.R: substr_ctl(str.0, 2, 4, carry = 1) 142s Error in substr2_ctl(x = x, start = start, stop = stop, warn = warn, term.cap = term.cap, : 142s Argument `carry` must be logical or character. 142s Calls: unitize_dir ... withVisible -> substr_ctl -> substr2_ctl -> VAL_IN_ENV -> stop2 142s 2/14 interactions.R: substr_ctl(str.0, 2, 4, carry = Inf) 142s Error in substr2_ctl(x = x, start = start, stop = stop, warn = warn, term.cap = term.cap, : 142s Argument `carry` must be logical or character. 142s Calls: unitize_dir ... withVisible -> substr_ctl -> substr2_ctl -> VAL_IN_ENV -> stop2 142s 2/14 interactions.R: sgrs <- c("A\033[31mB", "C\033[1mD", "E\033[4mF", "G\033[1 142s 2/14 interactions.R: substr_ctl(sgrs, 2, 2, carry = TRUE) 142s [1] "\033[31mB\033[0m" "\033[1;31mD\033[0m" 142s [3] "\033[1;4;31mF\033[0m" "\033[1;4;31;13mH\033[0m" 142s [5] "\033[1;4;31;62;13mJ\033[0m" "\033[1;4;62;13mL\033[0m" 142s [7] "\033[1;4;52;62;13mN\033[0m" "\033[1;4;52;13mP\033[0m" 142s [9] "\033[4;52;13mR\033[0m" "\033[52;13mT\033[0m" 142s [11] "\033[13mU\033[0m" "W" 142s 2/14 interactions.R: normalize_state(str.2, carry = NA_character_) 142s Error in normalize_state(str.2, carry = NA_character_) : 142s Argument `carry` may not be NA. 142s Calls: unitize_dir ... withVisible -> normalize_state -> VAL_IN_ENV -> stop2 142s 2/14 interactions.R: normalize_state(str.2, carry = character()) 142s Error in normalize_state(str.2, carry = character()) : 142s Argument `carry` must be scalar. 142s Calls: unitize_dir ... withVisible -> normalize_state -> VAL_IN_ENV -> stop2 142s 2/14 interactions.R: normalize_state(str.2, carry = 1) 142s Error in normalize_state(str.2, carry = 1) : 142s Argument `carry` must be logical or character. 142s Calls: unitize_dir ... withVisible -> normalize_state -> VAL_IN_ENV -> stop2 142s 2/14 interactions.R: normalize_state(str.2, carry = Inf) 142s Error in normalize_state(str.2, carry = Inf) : 142s Argument `carry` must be logical or character. 142s Calls: unitize_dir ... withVisible -> normalize_state -> VAL_IN_ENV -> stop2 142s 2/14 interactions.R: strwrap_ctl(wrp.0, 20, carry = NA_character_) 142s Error in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 142s Argument `carry` may not be NA. 142s Calls: unitize_dir ... withVisible -> strwrap_ctl -> strwrap2_ctl -> VAL_IN_ENV -> stop2 142s 2/14 interactions.R: strwrap_sgr(wrp.0, 20, carry = character()) 142s Error in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 142s Argument `carry` must be scalar. 142s Calls: unitize_dir ... strwrap_sgr -> strwrap_ctl -> strwrap2_ctl -> VAL_IN_ENV -> stop2 142s 2/14 interactions.R: strwrap2_ctl(wrp.0, 20, carry = 1) 142s Error in strwrap2_ctl(wrp.0, 20, carry = 1) : 142s Argument `carry` must be logical or character. 142s Calls: unitize_dir ... eval -> withVisible -> strwrap2_ctl -> VAL_IN_ENV -> stop2 142s 2/14 interactions.R: strwrap2_sgr(wrp.0, 20, carry = Inf) 142s Error in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 142s Argument `carry` must be logical or character. 142s Calls: unitize_dir ... strwrap2_sgr -> strwrap2_ctl -> VAL_IN_ENV -> stop2 142s 2/14 interactions.R: strwrap_ctl(c("\033[33mA \033[4mB", "\033[44mC D"), carry 142s [1] "\033[33mA\033[0m" "\033[4;33mB\033[0m" "\033[4;33;44mC\033[0m" 142s [4] "\033[4;33;44mD\033[0m" 142s 2/14 interactions.R: unitizer_sect("terminate", { 142s 2/14 interactions.R: str.0 <- c("hel\033[33m", "wo\033[44mrld") 142s 2/14 interactions.R: substr_ctl(str.0, 2, 5, terminate = FALSE) 142s [1] "el\033[33m" "o\033[44mrld" 142s 2/14 interactions.R: substr_sgr(str.0, 2, 5, terminate = FALSE) 142s [1] "el\033[33m" "o\033[44mrld" 142s 2/14 interactions.R: substr2_ctl(str.0, 2, 5, terminate = FALSE) 142s [1] "el\033[33m" "o\033[44mrld" 142s 2/14 interactions.R: substr2_sgr(str.0, 2, 5, terminate = FALSE) 142s [1] "el\033[33m" "o\033[44mrld" 142s 2/14 interactions.R: strwrap_ctl(wrp.0, 20, terminate = FALSE) 142s [1] "once upon \033[44ma time in" "a land far away" 142s [3] "over" "the mountains and" 142s [5] "\033[7msea lived a fair" "creature" 142s [7] "with \033[4mdark itentions" "and a yappy dog." 142s 2/14 interactions.R: strwrap_sgr(wrp.0, 20, terminate = FALSE) 142s [1] "once upon \033[44ma time in" "a land far away" 142s [3] "over" "the mountains and" 142s [5] "\033[7msea lived a fair" "creature" 142s [7] "with \033[4mdark itentions" "and a yappy dog." 142s 2/14 interactions.R: strwrap2_ctl(wrp.0, 20, terminate = FALSE) 142s [1] "once upon \033[44ma time in" "a land far away" 142s [3] "over" "the mountains and" 142s [5] "\033[7msea lived a fair" "creature" 142s [7] "with \033[4mdark itentions" "and a yappy dog." 142s 2/14 interactions.R: strwrap2_sgr(wrp.0, 20, terminate = FALSE) 142s [1] "once upon \033[44ma time in" "a land far away" 142s [3] "over" "the mountains and" 142s [5] "\033[7msea lived a fair" "creature" 142s [7] "with \033[4mdark itentions" "and a yappy dog." 142s 2/14 interactions.R: strtrim_ctl(wrp.0, 20, terminate = FALSE) 142s [1] "once upon \033[44ma time in " "the mountains and \033[7m s" 142s [3] "with \033[4mdark itentions " 142s 2/14 interactions.R: strtrim_sgr(wrp.0, 20, terminate = FALSE) 142s [1] "once upon \033[44ma time in " "the mountains and \033[7m s" 142s [3] "with \033[4mdark itentions " 142s 2/14 interactions.R: strtrim2_ctl(wrp.0, 20, terminate = FALSE) 142s [1] "once upon \033[44ma time in " "the mountains and \033[7m s" 142s [3] "with \033[4mdark itentions " 142s 2/14 interactions.R: strtrim2_sgr(wrp.0, 20, terminate = FALSE) 142s [1] "once upon \033[44ma time in " "the mountains and \033[7m s" 142s [3] "with \033[4mdark itentions " 142s 2/14 interactions.R: strtrim2_sgr(wrp.0, 20, terminate = NA) 142s Error in strtrim2_ctl(x = x, width = width, warn = warn, tabs.as.spaces = tabs.as.spaces, : 142s Argument `terminate` must be TRUE or FALSE 142s Calls: unitize_dir ... strtrim2_sgr -> strtrim2_ctl -> VAL_IN_ENV -> stop2 142s 2/14 interactions.R: unitizer_sect("bridge", { 142s 2/14 interactions.R: fansi:::bridge("\033[42m", "\033[31m") 142s [1] "\033[0;31m" 142s 2/14 interactions.R: fansi:::bridge("\033[42m", "\033[31m", normalize = TRUE) 142s [1] "\033[49m\033[31m" 142s 2/14 interactions.R: fansi:::bridge("", "\033[31m") 142s [1] "\033[31m" 142s 2/14 interactions.R: fansi:::bridge("\033[42m", "") 142s [1] "\033[0m" 142s 2/14 interactions.R: fansi:::bridge("\033[42m", "\033[42m") 142s [1] "" 142s 2/14 interactions.R: end <- c("\033[31", "\033[41m", NA_character_, "\033[44m") 142s 2/14 interactions.R: restart <- c("", NA_character_, "\033[45m", "\033[45m") 142s 2/14 interactions.R: fansi:::bridge(end, restart) 142s [1] "" "" "" "\033[45m" 142s 2/14 interactions.R: base.st <- "%s\033]8;%s;%s\033\\" 142s 2/14 interactions.R: url <- "https://x.yz" 142s 2/14 interactions.R: u0 <- sprintf(base.st, "", "", url) 142s 2/14 interactions.R: fansi:::bridge(paste0("\033[42m", u0), "\033[31m") 142s [1] "\033[0;31m\033]8;;\033\\" 142s 2/14 interactions.R: fansi:::bridge("\033[31m", paste0("\033[42m", u0)) 142s [1] "\033[0;42m\033]8;;https://x.yz\033\\" 142s 2/14 interactions.R: txt <- c("A\033[31mBC", "D\033[39mE\033[42mF") 142s 2/14 interactions.R: `substr_ctl<-`(txt, 2, 2, value = "?", normalize = TRUE, c 142s [1] "A?\033[31mC" "D\033[39m?\033[42mF" 142s 2/14 interactions.R: unitizer_sect("at end / close", { 143s 2/14 interactions.R: x <- c("a\033[31mb", "c", "\033[42md") 143s 2/14 interactions.R: state_at_end(x) 143s [1] "\033[31m" "" "\033[42m" 143s 2/14 interactions.R: state_at_end(x, carry = TRUE) 143s [1] "\033[31m" "\033[31m" "\033[31;42m" 143s 2/14 interactions.R: state_at_end(x, carry = TRUE, normalize = TRUE) 143s [1] "\033[31m" "\033[31m" "\033[31m\033[42m" 143s 2/14 interactions.R: state_at_end("a\033[pb") 143s [1] "" 143s Warning in state_at_end("a\033[pb") : 143s Argument `x` contains a non-SGR CSI or a non-URL OSC sequence at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 143s 2/14 interactions.R: state_at_end("a\033[pb", warn = FALSE) 143s [1] "" 143s 2/14 interactions.R: state_at_end(c("\033[42mA", NA_character_, "\033[31mA")) 143s [1] "\033[42m" NA "\033[31m" 143s 2/14 interactions.R: state_at_end(c("\033[42mA", NA_character_, "\033[31mA"), c 143s [1] "\033[42m" NA NA 143s 2/14 interactions.R: close_state(x) 143s [1] "\033[0m" "" "\033[0m" 143s 2/14 interactions.R: close_state(x, normalize = TRUE) 143s [1] "\033[39m" "" "\033[49m" 143s Warning in close_state("a\033[pb") : 143s Argument `x` contains a non-SGR CSI or a non-URL OSC sequence at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 143s 2/14 interactions.R: close_state("a\033[pb") 143s [1] "" 143s 2/14 interactions.R: close_state("a\033[pb", warn = FALSE) 143s [1] "" 143s 2/14 interactions.R: state_no_arg <- function(x) { 143s 2/14 interactions.R: x <- "\360" 143s 2/14 interactions.R: Encoding(x) <- "UTF-8" 143s 2/14 interactions.R: state_no_arg(x) 143s [1] "Encountered a malformed UTF-8 sequence at index [1], see `?unhandled_ctl`." 143s 2/14 interactions.R: y <- "\033[45phello" 143s 2/14 interactions.R: state_no_arg(y) 143s [1] "Encountered a non-SGR CSI or a non-URL OSC sequence at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings." 143s 143s 3/14 misc.R: 143s 3/14 misc.R: library(unitizer) 143s 3/14 misc.R: library(fansi) 143s 3/14 misc.R: unitizer_sect("term_cap_test", { 143s 3/14 misc.R: tct <- term_cap_test() 143s bright  -> \033[91;104mbright \033[0m 143s 256  -> \033[38;5;196;48;5;21m256 \033[0m 143s truecolor -> \033[38;2;255;0;0;48;2;0;0;255mtruecolor\033[0m 143s 3/14 misc.R: tct 143s [1] "\033[91;104mbright \033[0m" 143s [2] "\033[38;5;196;48;5;21m256 \033[0m" 143s [3] "\033[38;2;255;0;0;48;2;0;0;255mtruecolor\033[0m" 143s 3/14 misc.R: fansi_lines(LETTERS, step = 6) 143s [1] "\033[37;48;5;23mA\033[39;49m" "\033[37;48;5;29mB\033[39;49m" 143s [3] "\033[30;48;5;35mC\033[39;49m" "\033[30;48;5;41mD\033[39;49m" 143s [5] "\033[30;48;5;47mE\033[39;49m" "\033[37;48;5;53mF\033[39;49m" 143s [7] "\033[37;48;5;59mG\033[39;49m" "\033[37;48;5;65mH\033[39;49m" 143s [9] "\033[30;48;5;71mI\033[39;49m" "\033[30;48;5;77mJ\033[39;49m" 143s [11] "\033[30;48;5;83mK\033[39;49m" "\033[37;48;5;89mL\033[39;49m" 143s [13] "\033[37;48;5;95mM\033[39;49m" "\033[37;48;5;101mN\033[39;49m" 143s [15] "\033[30;48;5;107mO\033[39;49m" "\033[30;48;5;113mP\033[39;49m" 143s [17] "\033[30;48;5;119mQ\033[39;49m" "\033[37;48;5;125mR\033[39;49m" 143s [19] "\033[37;48;5;131mS\033[39;49m" "\033[37;48;5;137mT\033[39;49m" 143s [21] "\033[30;48;5;143mU\033[39;49m" "\033[30;48;5;149mV\033[39;49m" 143s [23] "\033[30;48;5;155mW\033[39;49m" "\033[37;48;5;161mX\033[39;49m" 143s [25] "\033[37;48;5;167mY\033[39;49m" "\033[37;48;5;173mZ\033[39;49m" 143s 3/14 misc.R: local({ 143s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 143s Argument `x` contains a CSI SGR sequence with color codes not supported by terminal at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 143s [1] "" "a" 143s 3/14 misc.R: unitizer_sect("add_int", { 143s 3/14 misc.R: fansi:::add_int(1, 1) 143s [1] 2 143s 3/14 misc.R: fansi:::add_int(2^31 - 1, 1) 143s Error in fansi:::add_int(2^31 - 1, 1) : 143s Integer overflow in file utils.c at line 99; contact maintainer. 143s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> 143s 3/14 misc.R: fansi:::add_int(2^31 - 1, 0) 143s [1] 2147483647 143s 3/14 misc.R: fansi:::add_int(-2^31 + 1, 0) 143s [1] -2147483647 143s 3/14 misc.R: fansi:::add_int(-2^31 + 1, -1) 143s Error in fansi:::add_int(-2^31 + 1, -1) : 143s Integer overflow in file utils.c at line 99; contact maintainer. 143s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> 143s 3/14 misc.R: unitizer_sect("unhandled", { 143s 3/14 misc.R: string.0 <- c("\033[41mhello world\033[m", "foo\033[22>m", "\033[9 143s 3/14 misc.R: unhandled_ctl(string.0) 143s index start stop error translated esc 143s 1 2 4 9 invalid-substr FALSE \033[22>m 143s 2 3 1 6 invalid-substr FALSE \033[999m 143s 3 4 5 11 invalid-substr FALSE \033[31#3m 143s 4 5 2 6 non-SGR/hyperlink FALSE \033[31k 143s 5 6 6 7 non-CSI/OSC FALSE \033m 143s 3/14 misc.R: string.1 <- c("foo\033[22>mhello\033[9999m", "a\033[31k", "hello\0 143s 3/14 misc.R: unhandled_ctl(string.1) 143s index start stop error translated esc 143s 1 1 4 9 invalid-substr FALSE \033[22>m 143s 2 1 15 21 invalid-substr FALSE \033[9999m 143s 3 2 2 6 non-SGR/hyperlink FALSE \033[31k 143s 4 3 6 7 non-CSI/OSC FALSE \033m 143s 5 3 9 14 unknown-substr FALSE \033[180m 143s 6 3 21 21 malformed-ESC FALSE \033 143s 3/14 misc.R: unhandled_ctl("hello\033\033\033[45p wor\ald") 143s index start stop error translated esc 143s 1 1 6 7 malformed-ESC FALSE \033\033 143s 2 1 8 12 non-SGR/hyperlink FALSE \033[45p 143s 3 1 17 17 C0 FALSE \a 143s 3/14 misc.R: unhandled_ctl("\033[38;5;220mworld\033[m", "bright") 143s index start stop error translated esc 143s 1 1 1 11 exceed-term-cap FALSE \033[38;5;220m 143s 3/14 misc.R: unhandled_ctl("\033[38;2;10;20;30mworld\033[m", "bright") 143s index start stop error translated esc 143s 1 1 1 16 exceed-term-cap FALSE \033[38;2;10;20;30m 143s Error in unhandled_ctl("\033[38;2;10;20;30mworld\033[m", "bri") : 143s Argument `term.cap` may only contain values in c("all", "bright", "256", "truecolor", "old") 143s Calls: unitize_dir ... withVisible -> unhandled_ctl -> VAL_IN_ENV -> stop2 143s 3/14 misc.R: unhandled_ctl("\033[38;2;10;20;30mworld\033[m", "bri") 143s 3/14 misc.R: unhandled_ctl("\033[38;2;10;20;30mworld\033[m", NULL) 143s Error in unhandled_ctl("\033[38;2;10;20;30mworld\033[m", NULL) : 143s Argument `term.cap` must be character. 143s Calls: unitize_dir ... withVisible -> unhandled_ctl -> VAL_IN_ENV -> stop2 143s 3/14 misc.R: unhandled_ctl("AB\033[34m\033]9\033\\\033[1m\033[2LCD") 143s index start stop error translated esc 143s 1 1 17 20 non-SGR/hyperlink FALSE \033[2L 143s 3/14 misc.R: unhandled_ctl("AB\033[34m\033]9\033[1m\033[2LCD") 143s index start stop error translated esc 143s 1 1 8 20 malformed-CSI/OSC FALSE \033]9\033[1m\033[2LCD 143s 3/14 misc.R: unhandled_ctl("A\033[45#1pB\033[256pC\033[256mD") 143s index start stop error translated esc 143s 1 1 2 8 CSI/OSC-bad-substr FALSE \033[45#1p 143s 2 1 10 15 non-SGR/hyperlink FALSE \033[256p 143s 3 1 17 22 invalid-substr FALSE \033[256m 143s 3/14 misc.R: unhandled_ctl("\033[38m") 143s index start stop error translated esc 143s 1 1 1 5 invalid-substr FALSE \033[38m 143s 3/14 misc.R: unitizer_sect("strtrim", { 143s 3/14 misc.R: strtrim_ctl(" hello world", 7) 143s [1] " hello " 143s 3/14 misc.R: strtrim_ctl("\033[42m hello world\033[m", 7) 143s [1] "\033[42m hello \033[0m" 143s 3/14 misc.R: strtrim_ctl(" hello\nworld", 7) 143s [1] " hello\nw" 143s 3/14 misc.R: strtrim_ctl("\033[42m hello\nworld\033[m", 7) 143s [1] "\033[42m hello\nw\033[0m" 143s 3/14 misc.R: strtrim_ctl("\nhello\nworld", 7) 143s [1] "\nhello\nwo" 143s 3/14 misc.R: strtrim_ctl("\033[42m\nhello\nworld\033[m", 7) 143s [1] "\033[42m\nhello\nwo\033[0m" 143s 3/14 misc.R: strtrim_ctl("\thello\rworld foobar", 12) 143s [1] "\thello\rworld f" 143s Warning in strtrim2_ctl(x = x, width = width, warn = warn, ctl = ctl, normalize = normalize, : 143s Argument `x` contains a C0 control character at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 143s 3/14 misc.R: strtrim_ctl("\033[42m\thello\rworld\033[m foobar", 12) 143s [1] "\033[42m\thello\rworld\033[m f" 143s Warning in strtrim2_ctl(x = x, width = width, warn = warn, ctl = ctl, normalize = normalize, : 143s Argument `x` contains a C0 control character at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 143s 3/14 misc.R: strtrim2_ctl("\033[42m\thello world\033[m foobar", 12, tabs.as.spa 143s [1] "\033[42m hell\033[0m" 143s 3/14 misc.R: strtrim_sgr("\033[42m\the\allo world\033[m foobar", 12, warn = FAL 143s [1] "\033[42m\the\allo worl\033[0m" 143s 3/14 misc.R: strtrim2_sgr("\033[42m\the\allo world\033[m foobar", 12, tabs.as.s 143s [1] "\033[42m he\allo wor\033[0m" 143s 3/14 misc.R: identical(strtrim_ctl(c("AB", NA_character_, "CD"), 1), strtrim(c( 143s [1] TRUE 143s 3/14 misc.R: strtrim_ctl(c("AB", NA_character_, "CD"), 1, carry = TRUE) 143s [1] "A" NA NA 143s 3/14 misc.R: hello2.0 <- "\033[42m\thello world\033[m foobar" 143s 3/14 misc.R: strtrim_ctl(1:3, width = 10) 143s [1] "1" "2" "3" 143s Error in strtrim2_ctl(x = x, width = width, warn = warn, ctl = ctl, normalize = normalize, : 143s Argument `width` must be a positive scalar numeric representable as an integer. 143s Calls: unitize_dir ... eval -> eval -> withVisible -> strtrim_ctl -> strtrim2_ctl 143s 3/14 misc.R: strtrim_ctl(hello2.0, width = "35") 143s Error in strtrim2_ctl(x = x, width = width, warn = warn, ctl = ctl, normalize = normalize, : 143s Argument `width` must be a positive scalar numeric representable as an integer. 143s Calls: unitize_dir ... eval -> eval -> withVisible -> strtrim_ctl -> strtrim2_ctl 143s 3/14 misc.R: strtrim_ctl(hello2.0, width = NA_integer_) 143s Error in strtrim2_ctl(x = x, width = width, warn = warn, ctl = ctl, normalize = normalize, : 143s Argument `warn` must be TRUE or FALSE. 143s Calls: unitize_dir ... withVisible -> strtrim_ctl -> strtrim2_ctl -> VAL_IN_ENV -> stop2 143s 3/14 misc.R: strtrim_ctl(hello2.0, width = 10, warn = NULL) 143s 3/14 misc.R: strtrim_ctl(hello2.0, width = 10, ctl = 0) 143s Error in strtrim2_ctl(x = x, width = width, warn = warn, ctl = ctl, normalize = normalize, : 143s Argument `ctl` must be character. 143s Calls: unitize_dir ... withVisible -> strtrim_ctl -> strtrim2_ctl -> VAL_IN_ENV -> stop2 143s Error in strtrim2_ctl(x = x, width = width, warn = warn, ctl = ctl, normalize = normalize, : 143s Argument `ctl` may contain only values in `c("all", "nl", "c0", "sgr", "csi", "esc", "url", "osc")` 143s Calls: unitize_dir ... withVisible -> strtrim_ctl -> strtrim2_ctl -> VAL_IN_ENV -> stop2 143s 3/14 misc.R: strtrim_ctl(hello2.0, width = 10, ctl = "bananas") 143s 3/14 misc.R: strtrim2_ctl(1:3, width = 10) 143s [1] "1" "2" "3" 143s Error in strtrim2_ctl(hello2.0, width = "35") : 143s Argument `width` must be a positive scalar numeric representable as an integer. 143s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> strtrim2_ctl 143s 3/14 misc.R: strtrim2_ctl(hello2.0, width = "35") 143s 3/14 misc.R: strtrim2_ctl(hello2.0, width = NA_integer_) 143s Error in strtrim2_ctl(hello2.0, width = NA_integer_) : 143s Argument `width` must be a positive scalar numeric representable as an integer. 143s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> strtrim2_ctl 143s 3/14 misc.R: strtrim2_ctl(hello2.0, width = 10, warn = NULL) 143s Error in strtrim2_ctl(hello2.0, width = 10, warn = NULL) : 143s Argument `warn` must be TRUE or FALSE. 143s Calls: unitize_dir ... eval -> withVisible -> strtrim2_ctl -> VAL_IN_ENV -> stop2 143s 3/14 misc.R: strtrim2_ctl(hello2.0, width = 10, tabs.as.spaces = NA) 143s Error in strtrim2_ctl(hello2.0, width = 10, tabs.as.spaces = NA) : 143s Argument `tabs.as.spaces` must be TRUE or FALSE. 143s Calls: unitize_dir ... eval -> withVisible -> strtrim2_ctl -> VAL_IN_ENV -> stop2 143s Error in strtrim2_ctl(hello2.0, width = 10, tabs.as.spaces = 1:3) : 143s Argument `tabs.as.spaces` must be TRUE or FALSE. 143s Calls: unitize_dir ... eval -> withVisible -> strtrim2_ctl -> VAL_IN_ENV -> stop2 143s 3/14 misc.R: strtrim2_ctl(hello2.0, width = 10, tabs.as.spaces = 1:3) 143s 3/14 misc.R: strtrim2_ctl(hello2.0, width = 10, tab.stops = -(1:3)) 143s Error in strtrim2_ctl(hello2.0, width = 10, tab.stops = -(1:3)) : 143s Argument `tab.stops` must be numeric, strictly positive, and representable as an integer. 143s Calls: unitize_dir ... eval -> withVisible -> strtrim2_ctl -> VAL_IN_ENV -> stop2 143s Error in strtrim2_ctl(hello2.0, width = 10, tab.stops = 0) : 143s Argument `tab.stops` must be numeric, strictly positive, and representable as an integer. 143s Calls: unitize_dir ... eval -> withVisible -> strtrim2_ctl -> VAL_IN_ENV -> stop2 143s 3/14 misc.R: strtrim2_ctl(hello2.0, width = 10, tab.stops = 0) 143s 3/14 misc.R: strtrim2_ctl(hello2.0, width = 10, ctl = 0) 143s Error in strtrim2_ctl(hello2.0, width = 10, ctl = 0) : 143s Argument `ctl` must be character. 143s Calls: unitize_dir ... eval -> withVisible -> strtrim2_ctl -> VAL_IN_ENV -> stop2 143s Error in strtrim2_ctl(hello2.0, width = 10, ctl = "bananas") : 143s Argument `ctl` may contain only values in `c("all", "nl", "c0", "sgr", "csi", "esc", "url", "osc")` 143s Calls: unitize_dir ... eval -> withVisible -> strtrim2_ctl -> VAL_IN_ENV -> stop2 143s 3/14 misc.R: strtrim2_ctl(hello2.0, width = 10, ctl = "bananas") 143s 3/14 misc.R: unitizer_sect("enc check", { 143s 3/14 misc.R: x <- y <- "He\237" 143s 3/14 misc.R: Encoding(x) <- "latin1" 143s 3/14 misc.R: fansi:::check_enc(x, 1) 143s Error in fansi:::check_enc(x, 1) : 143s Internal Error: unexpected encoding 2 encountered at index 1. Contact maintainer. 143s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> 143s 3/14 misc.R: Encoding(y) <- "bytes" 143s Error in fansi:::check_enc(y, 1) : 143s Byte encoded string encountered at index 1. Byte encoded strings are not supported. 143s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> 143s 3/14 misc.R: fansi:::check_enc(y, 1) 143s 3/14 misc.R: fansi:::check_enc("hello", 1) 143s [1] TRUE 143s 3/14 misc.R: unitizer_sect("what as int", { 143s 3/14 misc.R: fansi:::ctl_as_int(c(1, 2, 3, 4, 5)) 143s [1] 112 143s 3/14 misc.R: fansi:::ctl_as_int(c(2, 3, 4, 5)) 143s [1] 15 143s Error in fansi:::ctl_as_int(c(1, 2, 3, 9)) : 143s Internal Error: max ctl value allowed is 6. 143s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> 143s 3/14 misc.R: fansi:::ctl_as_int(c(1, 2, 3, 9)) 143s Error in fansi:::ctl_as_int(c(2, 3, 9)) : 143s Internal Error: max ctl value allowed is 6. 143s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> 143s 3/14 misc.R: fansi:::ctl_as_int(c(2, 3, 9)) 143s 3/14 misc.R: unitizer_sect("HTML helper", { 143s 3/14 misc.R: html_esc(character()) 143s character(0) 143s Error in html_esc(1:10) : Argument `x` must be character, is integer. 143s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> html_esc 143s 3/14 misc.R: html_esc(1:10) 143s 3/14 misc.R: html_esc(NA_character_) 143s [1] NA 143s 3/14 misc.R: html_esc("") 143s [1] "<he&llo>" 143s 3/14 misc.R: html_esc("ow&wo") 143s [1] "ow&wo" 143s 3/14 misc.R: html_esc(c("hello", "wors", NA, "")) 143s [1] "hello" "wor<ld>s" NA "" 143s 3/14 misc.R: html_esc(c("he'l\"lo", "wors", NA, "")) 143s [1] "he'l"lo" "wor<ld>s" NA 143s [4] "" 143s 3/14 misc.R: html_esc("<<<<") 143s [1] "<<<<" 143s 3/14 misc.R: html_esc("<123hello>") 143s [1] "<123hello>" 143s 3/14 misc.R: txt <- c("day > night", "hello world") 143s 3/14 misc.R: html_code_block(character()) 143s [1] "
" 143s 3/14 misc.R: html_code_block(txt) 143s [1] "
day > night\nhello world
" 143s 3/14 misc.R: html_code_block(1:10) 143s Error in html_code_block(1:10) : 143s Argument `x` must be character, is integer. 143s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> html_code_block 143s 3/14 misc.R: html_code_block(txt, class = c("not-fansi", "plain")) 143s [1] "
day > night\nhello world
" 143s Error in html_code_block(txt, class = NULL) : 143s Argument `class` must be character, is NULL. 143s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> html_code_block 143s 3/14 misc.R: html_code_block(txt, class = NULL) 143s 3/14 misc.R: html_esc(c("h&e'l\"lo", "wors", NA, ""), "<>") 143s [1] "h&e'l\"lo" "wor<ld>s" NA "" 143s 3/14 misc.R: html_esc(c("h&e'l\"lo", "wors", NA, ""), "><") 143s [1] "h&e'l\"lo" "wor<ld>s" NA "" 143s 3/14 misc.R: html_esc(c("h&e'l\"lo", "wors", NA, ""), "<&>") 143s [1] "h&e'l\"lo" "wor<ld>s" NA "" 143s 3/14 misc.R: html_esc(c("h&e'l\"lo", "wors", NA, ""), "'<&>") 143s [1] "h&e'l\"lo" "wor<ld>s" NA 143s [4] "" 143s 3/14 misc.R: html_esc(c("h&e'l\"lo", "wors", NA, ""), "'<&>\"") 143s [1] "h&e'l"lo" "wor<ld>s" NA 143s [4] "" 143s 3/14 misc.R: html_esc(c("h&e'l\"lo", "wors", NA, ""), "'&>\"<") 143s [1] "h&e'l"lo" "wor<ld>s" NA 143s [4] "" 143s 3/14 misc.R: html_esc(c("h&e'l\"lo", "wors", NA, ""), "") 143s [1] "h&e'l\"lo" "wors" NA "" 143s 3/14 misc.R: html_esc(c("h&e'l\"lo", "wors", NA, ""), "'<&>\"<") 143s [1] "h&e'l"lo" "wor<ld>s" NA 143s [4] "" 143s Error in html_esc(c("h&e'l\"lo", "wors", NA, ""), character()) : 143s Argument `what` must be scalar character and not NA. 143s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> html_esc 143s 3/14 misc.R: html_esc(c("h&e'l\"lo", "wors", NA, ""), character()) 143s Error in html_esc(c("h&e'l\"lo", "wors", NA, ""), NA_character_) : 143s Argument `what` must be scalar character and not NA. 143s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> html_esc 143s 3/14 misc.R: html_esc(c("h&e'l\"lo", "wors", NA, ""), NA_character_) 143s Error in html_esc(c("h&e'l\"lo", "wors", NA, ""), 1:5) : 143s Argument `what` must be character, is integer. 143s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> html_esc 143s 3/14 misc.R: html_esc(c("h&e'l\"lo", "wors", NA, ""), 1:5) 143s 3/14 misc.R: html_esc(c("h&e'l\"lo", "wors", NA, ""), "'<&><") 143s [1] "h&e'l\"lo" "wor<ld>s" NA 143s [4] "" 143s 3/14 misc.R: html_esc(c("h&e'l\"lo", "wors", NA, ""), "'x><") 143s Error in html_esc(c("h&e'l\"lo", "wors", NA, ""), "'x><") : 143s Argument `what` may only contain ASCII characters "&", "<", ">", "'", or "\"". 143s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> html_esc 143s 3/14 misc.R: unitizer_sect("hooks", { 143s 3/14 misc.R: h.1 <- list(set = function(...) cat("Set hooks: ", names(list(...) 143s 3/14 misc.R: h.2 <- list(set = function(...) cat("Set hooks: ", names(list(...) 143s 3/14 misc.R: h.3 <- list(set = function(...) cat("Set hooks: ", names(list(...) 143s 3/14 misc.R: h.4 <- list(set = function(...) stop("error in set"), get = functi 143s 3/14 misc.R: set_knit_hooks(list(1, 2)) 143s Error in set_knit_hooks(list(1, 2)) : 143s Argument `hooks` does not appear to be `knitr::knit_hooks`. 143s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> set_knit_hooks 143s 3/14 misc.R: set_knit_hooks(list(function() NULL, function() NULL)) 143s Error in set_knit_hooks(list(function() NULL, function() NULL)) : 143s Argument `hooks` does not appear to be `knitr::knit_hooks`. 143s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> set_knit_hooks 143s 3/14 misc.R: res1 <- set_knit_hooks(h.1, .test = TRUE) 143s Set hooks: output 143s 143s 3/14 misc.R: res1[["new.hooks"]][["output"]]("hello") 143s [1] "old.hook" 143s 3/14 misc.R: res1[["new.hooks"]][["output"]]("hello\033[31m world") 143s [1] "
hello world
" 143s 3/14 misc.R: res1a <- set_knit_hooks(h.1, split.nl = TRUE, .test = TRUE) 143s Set hooks: output 143s 143s 3/14 misc.R: res1a[["new.hooks"]][["output"]]("hello\033[31m wo\nrld") 143s [1] "
hello wo\nrld
" 143s 3/14 misc.R: p.f.2 <- function(x, y) NULL 143s 3/14 misc.R: p.f.3 <- function(x, class) sprintf("new proc fun, '%s'", class) 143s 3/14 misc.R: p.f.4 <- function(x, class) stop("new proc fun") 143s Error in set_knit_hooks(h.1, split.nl = "banana") : 143s Argument `split.n` must be TRUE or FALSE 143s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> set_knit_hooks 143s 3/14 misc.R: set_knit_hooks(h.1, split.nl = "banana") 143s Error in set_knit_hooks(h.1, proc.fun = p.f.2) : 143s Argument `proc.fun` must be a function with formals named `x` and `class`. 143s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> set_knit_hooks 143s 3/14 misc.R: set_knit_hooks(h.1, proc.fun = p.f.2) 143s Error in set_knit_hooks(h.1, which = "hello") : 143s Argument `which` must be character containing values in c("output", "warning", "error", "message") 143s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> set_knit_hooks 143s 3/14 misc.R: set_knit_hooks(h.1, which = "hello") 143s Error in set_knit_hooks(h.1, which = NULL) : 143s Argument `which` must be character containing values in c("output", "warning", "error", "message") 143s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> set_knit_hooks 143s 3/14 misc.R: set_knit_hooks(h.1, which = NULL) 143s 3/14 misc.R: res2 <- set_knit_hooks(h.1, which = c("output", "message"), class 143s Set hooks: output message 143s 143s 3/14 misc.R: res2[["new.hooks"]][["message"]]("hello") 143s [1] "old.hook" 143s 3/14 misc.R: res2[["new.hooks"]][["message"]]("hello\033[31m world") 143s [1] "new proc fun, 'f-message'" 143s 3/14 misc.R: res2[["new.hooks"]][["output"]]("hello\033[31m world") 143s [1] "new proc fun, 'f-output'" 143s 3/14 misc.R: res3 <- set_knit_hooks(h.1, which = c("message", "warning"), 143s Set hooks: message warning 143s 143s 3/14 misc.R: res3[["new.hooks"]][["warning"]]("hello") 143s [1] "old.hook" 143s 3/14 misc.R: res3[["new.hooks"]][["warning"]]("hello\033[31mworld") 143s Error in proc.fun(x = x, class = class) : new proc fun 143s Error in res3[["new.hooks"]][["warning"]]("hello\033[31mworld") : 143s Argument `proc.fun` for `set_knit_hooks` caused an error when processing output; see prior error. 143s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> 143s 3/14 misc.R: set_knit_hooks(h.2) 143s Warning in set_knit_hooks(h.2) : 143s Retrieved 'output' hook is not a function; are you sure you passed `knitr::knit_hooks` as the `hooks` argument? Quitting after setting 0/1 hooks 143s Set hooks: output 143s 143s $output 143s NULL 143s 143s 3/14 misc.R: set_knit_hooks(h.3) 143s Error in hooks$get(hook.name) : error in get 143s Warning in set_knit_hooks(h.3) : 143s Failed retrieving 'output' hook from the knit hooks; are you sure you passed `knitr::knit_hooks` as the `hooks` argument? Quitting after setting 0/1 hooks 143s Set hooks: output 143s 143s $output 143s NULL 143s 143s Error in (function (...) : error in set 143s 3/14 misc.R: set_knit_hooks(h.4) 143s Warning in set_knit_hooks(h.4) : 143s Failure while trying to set hooks; see prior error; are you sure you passed `knitr::knit_hooks` as the `hooks` argument? 143s 143s $output 143s function() "old.hook" 143s 143s 143s Error in set_knit_hooks(h.1, style = NULL) : 143s Argument `style` must be character. 143s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> set_knit_hooks 143s 3/14 misc.R: set_knit_hooks(h.1, style = NULL) 143s 3/14 misc.R: set_knit_hooks(h.1, class = 1:10) 143s Error in set_knit_hooks(h.1, class = 1:10) : 143s Argument `class` should be a character vector the same length as `which`. 143s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> set_knit_hooks 143s Error in set_knit_hooks(h.1, class = letters) : 143s Argument `class` should be a character vector the same length as `which`. 143s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> set_knit_hooks 143s 3/14 misc.R: set_knit_hooks(h.1, class = letters) 143s Error in set_knit_hooks(h.1, which = c("output", "message", "output")) : 143s Argument `which` may not contain duplicate values (output). 143s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> set_knit_hooks 143s 3/14 misc.R: set_knit_hooks(h.1, which = c("output", "message", "output")) 143s 3/14 misc.R: unitizer_sect("output funs", { 143s 3/14 misc.R: fansi_lines(1:3) 143s [1] "\033[37;48;5;18m1\033[39;49m" "\033[37;48;5;19m2\033[39;49m" 143s [3] "\033[37;48;5;20m3\033[39;49m" 143s Error in fansi_lines(1:3, step = "hello") : 143s Argument `step` must be a strictly positive scalar integer. 143s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> fansi_lines 143s 3/14 misc.R: fansi_lines(1:3, step = "hello") 143s 3/14 misc.R: capture.output(fwl("\033[43mhello")) 143s [1] "\033[43mhello" "\033[0m" 143s 3/14 misc.R: unitizer_sect("validation", { 143s Error in fansi:::VAL_IN_ENV(booboo = "error") : 143s Internal Error: some arguments to validate unknown 143s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> 143s 3/14 misc.R: fansi:::VAL_IN_ENV(booboo = "error") 143s 144s 4/14 nchar.R: 144s 4/14 nchar.R: library(fansi) 144s 4/14 nchar.R: unitizer_sect("basic tests", { 144s 4/14 nchar.R: nchar_ctl(c("hello", "world")) 144s [1] 5 5 144s 4/14 nchar.R: nchar_ctl(c("hello", "world"), type = "width") 144s [1] 5 5 144s 4/14 nchar.R: nchar_ctl(c("hello", "world"), type = "wi") 144s [1] 5 5 144s 4/14 nchar.R: na.world <- c("hello", NA, "world", "") 144s 4/14 nchar.R: identical(nchar_ctl(na.world), nchar(na.world)) 144s [1] TRUE 144s 4/14 nchar.R: identical(nchar_ctl(na.world, keepNA = FALSE), nchar(na.world, 144s [1] TRUE 144s 4/14 nchar.R: identical(nchar_ctl(na.world, keepNA = NA, type = "width"), nchar 144s [1] TRUE 144s 4/14 nchar.R: identical(nchar_ctl(na.world, keepNA = TRUE, type = "width"), 144s [1] TRUE 144s 4/14 nchar.R: identical(nzchar_ctl(na.world), nzchar(na.world)) 144s [1] TRUE 144s 4/14 nchar.R: identical(nzchar_ctl(na.world, keepNA = TRUE), nzchar(na.world, 144s [1] TRUE 144s 4/14 nchar.R: identical(nzchar_ctl(na.world, keepNA = NA), nzchar(na.world, 144s [1] TRUE 144s 4/14 nchar.R: identical(nchar_ctl(na.world, type = "bytes"), nchar(na.world, 144s [1] TRUE 144s 4/14 nchar.R: identical(nchar_ctl(na.world, keepNA = FALSE, type = "bytes"), 144s [1] TRUE 144s 4/14 nchar.R: identical(nchar_ctl(na.world, keepNA = TRUE, type = "bytes"), 144s [1] TRUE 144s 4/14 nchar.R: w.names <- c(a = "hello", b = "world") 144s 4/14 nchar.R: identical(nchar_ctl(w.names), nchar(w.names)) 144s [1] TRUE 144s 4/14 nchar.R: w.dim <- matrix(letters[1:6], 2, 3, dimnames = list(X = LETTERS[2 144s 4/14 nchar.R: identical(nchar_ctl(w.dim), nchar(w.dim)) 144s [1] TRUE 144s 4/14 nchar.R: hw.sgr <- c("hello", "wo\033[42mrld", "\033[31m", "mo\non", "star 144s 4/14 nchar.R: identical(nchar_ctl(hw.sgr), nchar(strip_ctl(hw.sgr))) 144s [1] TRUE 144s 4/14 nchar.R: x <- "\360" 144s 4/14 nchar.R: if (isTRUE(l10n_info()[["UTF-8"]])) { 144s [1] TRUE 144s 4/14 nchar.R: Encoding(x) <- "UTF-8" 144s Error in nchar_ctl_internal(x = x, type.int = TYPE.INT, allowNA = allowNA, : 144s Argument `x` contains a malformed UTF-8 sequence at index [1], see `?unhandled_ctl`. 144s Calls: unitize_dir ... eval -> withVisible -> nchar_ctl -> nchar_ctl_internal 144s 4/14 nchar.R: identical(nzchar_ctl(x), nzchar(x)) 144s [1] TRUE 144s 4/14 nchar.R: nchar_ctl(x) 144s Error in nchar_ctl_internal(x = x, type.int = TYPE.INT, allowNA = allowNA, : 144s Argument `x` contains a malformed UTF-8 sequence at index [2], see `?unhandled_ctl`. 144s Calls: unitize_dir ... eval -> withVisible -> nchar_ctl -> nchar_ctl_internal 144s 4/14 nchar.R: nchar_ctl(c("", x)) 144s 4/14 nchar.R: identical(nchar_ctl(x, allowNA = TRUE), nchar(x, allowNA = TRUE)) 144s [1] TRUE 144s 4/14 nchar.R: unitizer_sect("with escapes", { 144s 4/14 nchar.R: esc.2 <- "\n\r\033P\033[31m\a" 144s 4/14 nchar.R: nchar_ctl(esc.2) 144s [1] 0 144s 4/14 nchar.R: nchar_ctl(esc.2, warn = FALSE) 144s [1] 0 144s 4/14 nchar.R: nzchar_ctl(esc.2) 144s [1] FALSE 144s 4/14 nchar.R: nzchar_ctl(esc.2, warn = FALSE) 144s [1] FALSE 144s 4/14 nchar.R: nchar_ctl("\033[31#mworld", ctl = "sgr") 144s [1] 5 144s 4/14 nchar.R: nchar_ctl("\033[31#mworld", ctl = "csi") 144s [1] 11 144s 4/14 nchar.R: unitizer_sect("ctl", { 144s 4/14 nchar.R: esc.3 <- "\n\t\033[31m\033[41!m\033p" 144s 4/14 nchar.R: nzchar_ctl(esc.3, warn = FALSE) 144s [1] FALSE 144s 4/14 nchar.R: nzchar_ctl(sprintf("%sa", esc.3), warn = FALSE) 144s [1] TRUE 144s 4/14 nchar.R: nzchar_ctl(esc.3, ctl = c("sgr", "csi", "esc"), warn = FALSE) 144s [1] TRUE 144s 4/14 nchar.R: nzchar_ctl(esc.3, ctl = c("c0", "nl"), warn = FALSE) 144s [1] TRUE 144s 4/14 nchar.R: nzchar_ctl("\n\t\n", ctl = c("nl"), warn = FALSE) 144s [1] TRUE 144s 4/14 nchar.R: nzchar_ctl("\t\n", ctl = c("nl"), warn = FALSE) 144s [1] TRUE 144s 4/14 nchar.R: unitizer_sect("corner cases", { 144s 4/14 nchar.R: ncbad <- c("\033\200", "\033[31;\200m", "\033[31;\200p", "\033]8; 144s 4/14 nchar.R: Encoding(ncbad) <- "UTF-8" 144s 4/14 nchar.R: nchar_ctl(ncbad) 144s [1] 0 0 0 0 0 144s 4/14 nchar.R: fansi:::set_rver(numeric_version("3.2.1")) 144s 4/14 nchar.R: nzchar_ctl(c("\033[31mA", "\033[31m")) 144s [1] TRUE FALSE 144s 4/14 nchar.R: nchar_ctl(c("\033[31mA", "\033[31m")) 144s [1] 1 0 144s 4/14 nchar.R: fansi:::set_rver() 144s 4/14 nchar.R: unitizer_sect("bad inputs", { 144s 4/14 nchar.R: nchar_ctl(9:10, warn = 1:3) 144s Error in nchar_ctl(9:10, warn = 1:3) : 144s Argument `warn` must be TRUE or FALSE. 144s Calls: unitize_dir ... eval -> withVisible -> nchar_ctl -> VAL_IN_ENV -> stop2 144s Error in nchar_ctl("hello\033[31m world", allowNA = 1:3) : 144s Argument `allowNA` must be interpretable as a scalar logical. 144s Calls: unitize_dir ... eval -> withVisible -> nchar_ctl -> VAL_IN_ENV -> stop2 144s 4/14 nchar.R: nchar_ctl("hello\033[31m world", allowNA = 1:3) 144s 4/14 nchar.R: nchar_ctl("hello\033[31m world", keepNA = 1:3)Error in nchar_ctl("hello\033[31m world", keepNA = 1:3) : 144s Argument `keepNA` must be interpretable as a scalar logical. 144s Calls: unitize_dir ... eval -> withVisible -> nchar_ctl -> VAL_IN_ENV -> stop2 144s 144s Parameter `strip` has been deprecated; use `ctl` instead. 144s Error in nchar_ctl("hello\033[31m world", strip = 1:3) : 144s Argument `ctl` must be character. 144s Calls: unitize_dir ... eval -> wit 4/14 nchar.R: nchar_ctl("hello\033[31m world", strip = 1:3) 144s hVisible -> nchar_ctl -> VAL_IN_ENV -> stop2 144s Error in nchar_ctl("hello\033[31m world", ctl = "bananas") : 144s Argument `ctl` may contain only values in `c("all", "nl", "c0", "sgr", "csi", "esc", "url", "osc")` 144s Calls: unitize_dir ... eval -> withVisible -> nchar_ctl -> VAL_IN_ENV -> stop2 144s 4/14 nchar.R: nchar_ctl("hello\033[31m world", ctl = "bananas") 144s 4/14 nchar.R: nchar_ctl("hello\033[31m world", type = NA_character_) 144s Error in nchar_ctl("hello\033[31m world", type = NA_character_) : 144s Argument `type` must partial match one of c("chars", "width", "graphemes", "bytes") 144s Calls: unitize_dir ... eval -> withVisible -> nchar_ctl -> VAL_IN_ENV -> stop2 144s Error in nchar_ctl("hello\033[31m world", type = 1) : 144s Argument `type` must partial match one of c("chars", "width", "graphemes", "bytes") 144s Calls: unitize_dir ... eval -> withVisible -> nchar_ctl -> VAL_IN_ENV -> stop2 144s 4/14 nchar.R: nchar_ctl("hello\033[31m world", type = 1) 144s 4/14 nchar.R: nchar_ctl("hello\033[31m world", type = "bananas") 144s Error in nchar_ctl("hello\033[31m world", type = "bananas") : 144s Argument `type` must partial match one of c("chars", "width", "graphemes", "bytes") 144s Calls: unitize_dir ... eval -> withVisible -> nchar_ctl -> VAL_IN_ENV -> stop2 144s Error in nzchar_ctl(9:10, warn = 1:3) : 144s Argument `warn` must be TRUE or FALSE. 144s Calls: unitize_dir ... eval -> withVisible -> nzchar_ctl -> VAL_IN_ENV -> stop2 144s 4/14 nchar.R: nzchar_ctl(9:10, warn = 1:3) 144s Error in nzchar_ctl("hello\033[31m world", keepNA = 1:3) : 144s Argument `keepNA` must be interpretable as a scalar logical. 144s Calls 4/14 nchar.R: nzchar_ctl("hello\033[31m world", keepNA = 1:3) 144s : unitize_dir ... eval -> withVisible -> nzchar_ctl -> VAL_IN_ENV -> stop2 144s Error in nzchar_ctl("hello\033[31m world", ctl = 1) : 144s Argument `ctl` must be character. 144s Calls: unitize_dir ... eval -> withVisible -> nzchar_ctl -> VAL_IN_ENV -> stop2 144s 4/14 nchar.R: nzchar_ctl("hello\033[31m world", ctl = 1) 144s Error in nzchar_ctl("hello\033[31m world", ctl = "bananas") : 144s Argument `ctl` may contain only values in `c("all", "nl", "c0", "sgr", "csi", "esc", "url", "osc")` 144s Calls: unitize_dir ... eval -> withVisible -> nzchar_ctl -> VAL_IN_ENV -> stop2 144s 4/14 nchar.R: nzchar_ctl("hello\033[31m world", ctl = "bananas") 144s 144s 5/14 normalize.R: 144s 5/14 normalize.R: library(fansi) 144s 5/14 normalize.R: unitizer_sect("no expansion", { 144s 5/14 normalize.R: normalize_state("A\033[31mB") 144s [1] "A\033[31mB" 144s 5/14 normalize.R: normalize_state("\033[31mAB") 144s [1] "\033[31mAB" 144s 5/14 normalize.R: normalize_state("AB\033[31m") 144s [1] "AB\033[31m" 144s 5/14 normalize.R: normalize_state(c("A\033[31mB", "AB")) 144s [1] "A\033[31mB" "AB" 144s 5/14 normalize.R: normalize_state(c("\033[31mAB", "AB")) 144s [1] "\033[31mAB" "AB" 144s 5/14 normalize.R: normalize_state(c("AB\033[31m", "AB")) 144s [1] "AB\033[31m" "AB" 144s 5/14 normalize.R: unitizer_sect("simple expansion", { 144s 5/14 normalize.R: normalize_state(c("A\033[31;42mB", "AB")) 144s [1] "A\033[31m\033[42mB" "AB" 144s 5/14 normalize.R: normalize_state(c("\033[31;42mAB", "AB")) 144s [1] "\033[31m\033[42mAB" "AB" 144s 5/14 normalize.R: normalize_state(c("AB\033[31;42m", "AB")) 144s [1] "AB\033[31m\033[42m" "AB" 144s 5/14 normalize.R: normalize_state(c("A\033[31;42mB", "A\033[39;4mB")) 144s [1] "A\033[31m\033[42mB" "A\033[4mB" 144s 5/14 normalize.R: normalize_state(c("A\033[31;42mB", "\033[39;4mAB")) 144s [1] "A\033[31m\033[42mB" "\033[4mAB" 144s 5/14 normalize.R: normalize_state(c("AB\033[31;42m", "A\033[39;4mB")) 144s [1] "AB\033[31m\033[42m" "A\033[4mB" 144s 5/14 normalize.R: normalize_state(c("AB\033[31;42m", "A\033[0;4mB")) 144s [1] "AB\033[31m\033[42m" "A\033[4mB" 144s 5/14 normalize.R: normalize_state(c("AB\033[31;42m", "AB\033[0;4m")) 144s [1] "AB\033[31m\033[42m" "AB\033[4m" 144s 5/14 normalize.R: normalize_state(c("AB\033[31;42m", "\033[0;4mAB")) 144s [1] "AB\033[31m\033[42m" "\033[4mAB" 144s 5/14 normalize.R: normalize_state(c("AB\033[31;42m", NA, "\033[0;4mAB")) 144s [1] "AB\033[31m\033[42m" NA "\033[4mAB" 144s 5/14 normalize.R: normalize_state(c("AB\033[31;42m", NA, "\033[0;4mAB"), carry 144s [1] "AB\033[31m\033[42m" NA NA 144s 5/14 normalize.R: unitizer_sect("superflous codes", { 144s 5/14 normalize.R: normalize_state(c("A\033[31;44;38;5;226;36mBC\033[mD")) 144s [1] "A\033[36m\033[44mBC\033[39m\033[49mD" 144s 5/14 normalize.R: normalize_state(c("A\033[31;44;38;5;226;36m\033[0mBCD")) 144s [1] "ABCD" 144s 5/14 normalize.R: unitizer_sect("broad code test", { 144s 5/14 normalize.R: normalize_state(c("A\033[33;44mB\033[1;3;4mCD\033[mE")) 144s [1] "A\033[33m\033[44mB\033[1m\033[3m\033[4mCD\033[22m\033[23m\033[24m\033[39m\033[49mE" 144s 5/14 normalize.R: normalize_state("A\033[33;44mB\033[1;2;3;4;5;6;7;8;9;11;21;26 144s [1] "A\033[33m\033[44mB\033[1m\033[2m\033[3m\033[4m\033[5m\033[6m\033[7m\033[8m\033[9m\033[21m\033[26m\033[51m\033[52m\033[53m\033[60m\033[61m\033[62m\033[63m\033[64m\033[11mC\033[10m\033[22m\033[23m\033[24m\033[25m\033[27m\033[28m\033[29m\033[39m\033[49m\033[50m\033[54m\033[55m\033[65m" 144s 5/14 normalize.R: unhandled_ctl(normalize_state("A\033[33;44mB\033[1;2;3;4;5;6; 144s [1] index start stop error translated esc 144s <0 rows> (or 0-length row.names) 144s 5/14 normalize.R: normalize_state("A\033[33;44mB\033[1;2;3;4;5;6;7;8;9;11;21;26 144s [1] "A\033[33m\033[44mB\033[39m\033[49mC" 144s 5/14 normalize.R: normalize_state("A\033[33;44mB\033[1;2;3;4;5;6;7;8;9;11;21;26 144s [1] "A\033[33m\033[44mB\033[1m\033[2m\033[3m\033[4m\033[5m\033[6m\033[7m\033[8m\033[9m\033[21m\033[26m\033[51m\033[52m\033[53m\033[60m\033[61m\033[62m\033[63m\033[64m\033[11mC\033[10m\033[22m\033[23m\033[24m\033[25m\033[27m\033[28m\033[29m\033[39m\033[49m\033[50m\033[54m\033[55m\033[65mD" 144s 5/14 normalize.R: unitizer_sect("errors and warnings", { 144s 5/14 normalize.R: normalize_state(list(1, 2, 3)) 144s [1] "1" "2" "3" 144s 5/14 normalize.R: x <- c("A\033[38;2;100;150;3;36mBC\033[mD") 144s 5/14 normalize.R: normalize_state(x, term.cap = c("old")) 144s [1] "A\033[2m\033[3m\033[36mBC\033[22m\033[23m\033[39mD" 144s Warning in normalize_state(x, term.cap = c("old")) : 144s Argument `x` contains a CSI SGR sequence with color codes not supported by terminal at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 144s 5/14 normalize.R: normalize_state(x, term.cap = c("bright", "old")) 144s [1] "A\033[2m\033[3m\033[36m\033[100mBC\033[22m\033[23m\033[39m\033[49mD" 144s Warning in normalize_state(x, term.cap = c("bright", "old")) : 144s Argument `x` contains a CSI SGR sequence with color codes not supported by terminal at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 144s Warning in normalize_state(x, term.cap = character()) : 144s Argument `x` contains a CSI SGR sequence with color codes not supported by terminal at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 144s 5/14 normalize.R: normalize_state(x, term.cap = character()) 144s [1] "A\033[36mBC\033[39mD" 144s 5/14 normalize.R: normalize_state(x, term.cap = c("bright")) 144s [1] "A\033[36mBC\033[39mD" 144s Warning in normalize_state(x, term.cap = c("bright")) : 144s Argument `x` contains a CSI SGR sequence with color codes not supported by terminal at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 144s 5/14 normalize.R: normalize_state(x, term.cap = c("bright", "256", "truecolor") 144s [1] "A\033[36mBC\033[39mD" 144s Error in substr2_ctl(x = x, start = start, stop = stop, warn = warn, term.cap = term.cap, : 144s Argument `normalize` must be TRUE or FALSE. 144s Calls: unitize_dir ... withVisible -> substr_ctl -> substr2_ctl -> VAL_IN_ENV -> stop2 144s 5/14 normalize.R: substr_ctl(x, 1, 2, normalize = "yeah baby") 144s Error in substr2_ctl(x = x, start = start, stop = stop, warn = warn, term.cap = term.cap, : 144s Argument `normalize` must be TRUE or FALSE. 144s Calls: unitize_dir ... withVisible -> substr_ctl -> substr2_ctl -> VAL_IN_ENV -> stop2 144s 5/14 normalize.R: substr_ctl(x, 1, 2, normalize = NA) 144s 5/14 normalize.R: unitizer_sect("in functions", { 144s 5/14 normalize.R: string1 <- "hello \033[33;44mblue world" 144s 5/14 normalize.R: string2 <- "\033[4;1mgoodbye\033[7m white \033[mmoon" 144s 5/14 normalize.R: string3 <- c(string1, string2) 144s 5/14 normalize.R: strwrap_ctl(string1, 11, normalize = TRUE) 144s [1] "hello \033[33m\033[44mblue\033[39m\033[49m" 144s [2] "\033[33m\033[44mworld\033[39m\033[49m" 144s 5/14 normalize.R: strwrap_ctl(string2, 11, normalize = TRUE) 144s [1] "\033[1m\033[4mgoodbye\033[22m\033[24m" 144s [2] "\033[1m\033[4m\033[7mwhite \033[22m\033[24m\033[27mmoon" 144s 5/14 normalize.R: strwrap_ctl(string3, 11, normalize = TRUE) 144s [1] "hello \033[33m\033[44mblue\033[39m\033[49m" 144s [2] "\033[33m\033[44mworld\033[39m\033[49m" 144s [3] "\033[1m\033[4mgoodbye\033[22m\033[24m" 144s [4] "\033[1m\033[4m\033[7mwhite \033[22m\033[24m\033[27mmoon" 144s 5/14 normalize.R: strwrap_ctl(string3, 11, normalize = TRUE, simplify = FALSE) 144s [[1]] 144s [1] "hello \033[33m\033[44mblue\033[39m\033[49m" 144s [2] "\033[33m\033[44mworld\033[39m\033[49m" 144s 144s [[2]] 144s [1] "\033[1m\033[4mgoodbye\033[22m\033[24m" 144s [2] "\033[1m\033[4m\033[7mwhite \033[22m\033[24m\033[27mmoon" 144s 144s 5/14 normalize.R: strwrap2_ctl(string3, 11, normalize = TRUE, pad.end = " ") 144s [1] "hello \033[33m\033[44mblue\033[39m\033[49m" 144s [2] "\033[33m\033[44mworld \033[39m\033[49m" 144s [3] "\033[1m\033[4mgoodbye\033[7m \033[22m\033[24m\033[27m" 144s [4] "\033[1m\033[4m\033[7mwhite \033[22m\033[24m\033[27mmoon" 144s 5/14 normalize.R: strwrap_sgr(string3, 11, normalize = TRUE) 144s [1] "hello \033[33m\033[44mblue\033[39m\033[49m" 144s [2] "\033[33m\033[44mworld\033[39m\033[49m" 144s [3] "\033[1m\033[4mgoodbye\033[22m\033[24m" 144s [4] "\033[1m\033[4m\033[7mwhite \033[22m\033[24m\033[27mmoon" 144s 5/14 normalize.R: strwrap2_sgr(string3, 11, normalize = TRUE, pad.end = " ") 144s [1] "hello \033[33m\033[44mblue\033[39m\033[49m" 144s [2] "\033[33m\033[44mworld \033[39m\033[49m" 144s [3] "\033[1m\033[4mgoodbye\033[7m \033[22m\033[24m\033[27m" 144s [4] "\033[1m\033[4m\033[7mwhite \033[22m\033[24m\033[27mmoon" 144s 5/14 normalize.R: strtrim_sgr(string3, 8, normalize = TRUE) 144s [1] "hello \033[33m\033[44mbl\033[39m\033[49m" 144s [2] "\033[1m\033[4mgoodbye\033[7m \033[22m\033[24m\033[27m" 144s 5/14 normalize.R: strtrim_sgr(string3, 8, normalize = TRUE) 144s [1] "hello \033[33m\033[44mbl\033[39m\033[49m" 144s [2] "\033[1m\033[4mgoodbye\033[7m \033[22m\033[24m\033[27m" 144s 5/14 normalize.R: substr_ctl("\033[33;44mhello\033[m world", 3, 8, normalize = 144s [1] "\033[33m\033[44mllo\033[39m\033[49m wo" 144s 5/14 normalize.R: substr2_ctl("\033[33;44mhello\033[m world", 3, 8, normalize = 144s [1] "\033[33m\033[44mllo\033[39m\033[49m wo" 144s 5/14 normalize.R: substr_sgr("\033[33;44mhello\033[m world", 3, 8, normalize = 144s [1] "\033[33m\033[44mllo\033[39m\033[49m wo" 144s 5/14 normalize.R: substr2_sgr("\033[33;44mhello\033[m world", 3, 8, normalize = 144s [1] "\033[33m\033[44mllo\033[39m\033[49m wo" 144s 5/14 normalize.R: substr_ctl(string3, c(3, 3), c(8, 15), normalize = TRUE) 144s [1] "llo \033[33m\033[44mbl\033[39m\033[49m" 144s [2] "\033[1m\033[4modbye\033[7m white \033[22m\033[24m\033[27mm" 144s 5/14 normalize.R: strsplit_ctl(string3, " ", normalize = TRUE) 144s [[1]] 144s [1] "hello" 144s [2] "\033[33m\033[44mblue\033[39m\033[49m" 144s [3] "\033[33m\033[44mworld\033[39m\033[49m" 144s 144s [[2]] 144s [1] "\033[1m\033[4mgoodbye\033[22m\033[24m" 144s [2] "\033[1m\033[4m\033[7mwhite\033[22m\033[24m\033[27m" 144s [3] "moon" 144s 144s 144s 6/14 overflow.R: 144s 6/14 overflow.R: library(fansi) 144s 6/14 overflow.R: old_max <- fansi:::set_int_max(15) 144s 6/14 overflow.R: unitizer_sect("tabs", { 144s 6/14 overflow.R: tabs_as_spaces("\t1234567") 144s [1] " 1234567" 144s 6/14 overflow.R: tryCatch(tabs_as_spaces("\t12345678"), error = conditionMessag 144s [1] "Converting tabs to spaces will cause string to be longer than allowed INT_MAX." 144s 6/14 overflow.R: invisible(fansi:::set_int_max(12)) 144s 6/14 overflow.R: tabs_as_spaces(c("\t", "\t123")) 144s [1] " " " 123" 144s 6/14 overflow.R: unitizer_sect("wrap", { 144s 6/14 overflow.R: invisible(fansi:::set_int_max(15)) 144s 6/14 overflow.R: string <- "0123456789" 144s 6/14 overflow.R: strwrap_ctl(string, 16) 144s [1] "0123456789" 144s 6/14 overflow.R: strwrap2_ctl(string, 16, pad.end = " ") 144s [1] "0123456789 " 144s 6/14 overflow.R: tce(strwrap2_ctl(string, 17, pad.end = " ")) 144s [1] "Adding padding will create string longer than INT_MAX at index [1]. Try again with smaller strings." 144s 6/14 overflow.R: strwrap_ctl(string, 16, prefix = "-----") 144s [1] "-----0123456789" 144s 6/14 overflow.R: tce(strwrap_ctl(string, 16, prefix = "------")) 144s [1] "Adding prefix characters will create string longer than INT_MAX at index [1]. Try again with smaller strings." 144s 6/14 overflow.R: strwrap_ctl(string, 16, indent = 5) 144s [1] " 0123456789" 144s 6/14 overflow.R: tce(strwrap_ctl(string, 16, indent = 6)) 144s [1] "Adding prefix characters will create string longer than INT_MAX at index [1]. Try again with smaller strings." 144s 6/14 overflow.R: strwrap_ctl(string, 16, indent = 2, prefix = "---") 144s [1] "--- 0123456789" 144s 6/14 overflow.R: tce(strwrap_ctl(string, 16, indent = 3, prefix = "---")) 144s [1] "Adding prefix characters will create string longer than INT_MAX at index [1]. Try again with smaller strings." 144s 6/14 overflow.R: string2 <- "012345678901234" 144s 6/14 overflow.R: string3 <- "0123456789012345" 144s 6/14 overflow.R: strwrap_ctl(string2, 16) 144s [1] "012345678901234" 144s 6/14 overflow.R: tce(strwrap_ctl(string3, 16)) 144s [1] "Strings longer than INT_MAX not supported (length 16 at index 1)." 144s 6/14 overflow.R: string4 <- "\033[31m0123456789" 144s 6/14 overflow.R: tce(strwrap_ctl(string4, 16)) 144s [1] "Generating closing SGR will create string longer than INT_MAX at index [1]. Try again with smaller strings." 144s 6/14 overflow.R: invisible(fansi:::set_int_max(9)) 144s 6/14 overflow.R: tce(strwrap_ctl("A\033[31m a", 5)) 144s [1] "Generating closing SGR will create string longer than INT_MAX at index [1]. Try again with smaller strings." 144s 6/14 overflow.R: unitizer_sect("html", { 144s 6/14 overflow.R: invisible(fansi:::set_int_max(38)) 144s 6/14 overflow.R: sgr_to_html("\033[31ma") 144s [1] "a" 144s 6/14 overflow.R: tce(sgr_to_html("\033[31mab")) 144s [1] "Expanding SGR sequences to HTML will create string longer than INT_MAX at index [1]. Try again with smaller strings." 144s 6/14 overflow.R: tce(sgr_to_html("\033[31m\033[42mhello")) 144s [1] "Expanding SGR sequences to HTML will create string longer than INT_MAX at index [1]. Try again with smaller strings." 144s 6/14 overflow.R: invisible(fansi:::set_int_max(57)) 144s 6/14 overflow.R: tce(sgr_to_html("\033[31m\033[42mhello", classes = TRUE)) 144s [1] "Expanding SGR sequences to HTML will create string longer than INT_MAX at index [1]. Try again with smaller strings." 144s 6/14 overflow.R: invisible(fansi:::set_int_max(58)) 144s 6/14 overflow.R: (x <- sgr_to_html("\033[31m\033[42mhello", classes = TRUE)) 144s [1] "hello" 144s 6/14 overflow.R: nchar(x) 144s [1] 58 144s 6/14 overflow.R: invisible(fansi:::set_int_max(4)) 144s 6/14 overflow.R: tce(sgr_to_html("hello")) 144s [1] "Strings longer than INT_MAX not supported (length 5 at index 1)." 144s 6/14 overflow.R: tce(html_esc("hello")) 144s [1] "Strings longer than INT_MAX not supported (length 5 at index 1)." 144s 6/14 overflow.R: tce(html_esc("<")) 144s [1] "<" 144s 6/14 overflow.R: tce(html_esc(" eval -> eval -> withVisible -> 145s 6/14 overflow.R: invisible(fansi:::set_int_max(130)) 145s Error in fansi:::size_buff(c(0L, 127L, 128L, 64L, 200L, 1024L)) : 145s Internal Error: max allowed buffer size is INT_MAX + 1. (req: 201 vs lim: 131), in FANSI_size_buff_ext. 145s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> 145s 6/14 overflow.R: fansi:::size_buff(c(0L, 127L, 128L, 64L, 200L, 1024L)) 145s 6/14 overflow.R: invisible(fansi:::set_int_max(64)) 145s 6/14 overflow.R: fansi:::size_buff(c(0L, 32L, 63L, 64L)) 145s [1] 1 33 65 65 145s Error in fansi:::size_buff(c(0L, 32L, 63L, 65L)) : 145s Internal Error: max allowed buffer size is INT_MAX + 1. (req: 66 vs lim: 65), in FANSI_size_buff_ext. 145s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> 145s 6/14 overflow.R: fansi:::size_buff(c(0L, 32L, 63L, 65L)) 145s 6/14 overflow.R: invisible(fansi:::set_int_max(old_max)) 145s 6/14 overflow.R: dat <- fansi:::size_buff_prot_test() 145s Warning in fansi:::size_buff_prot_test() : 145s Unable to release buffer allocated by FANSI_size_buff_prot_test while in native code. Buffer will be released on return to R. 145s Warning in fansi:::size_buff_prot_test() : 145s Unable to release buffer allocated by FANSI_size_buff_prot_test while in native code. Buffer will be released on return to R. 145s Error in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 145s Strings longer than INT_MAX not supported (length 8 at index 1). 145s Calls: unitize_dir ... withVisible -> substr_ctl -> substr2_ctl -> substr_ctl_internal 145s 6/14 overflow.R: dat["first", "self"] == dat["smaller 1.0", "self"] 145s [1] TRUE 145s 6/14 overflow.R: dat["new buff", "prev"] == dat["grow 1.0", "self"] 145s [1] TRUE 145s 6/14 overflow.R: dat["new buff", "prev"] != dat["new buff", "self"] 145s [1] TRUE 145s 6/14 overflow.R: dat["smaller 1.1", "self"] == dat["grow 1.0", "self"] 145s [1] TRUE 145s 6/14 overflow.R: dat["smaller 2.0", "self"] == dat["new buff", "self"] 145s [1] TRUE 145s 6/14 overflow.R: dat["smaller 2.0", "prev"] == dat["new buff", "prev"] 145s [1] TRUE 145s 6/14 overflow.R: dat["smaller 2.0", "prev"] == dat["grow 2.0", "prev"] 145s [1] TRUE 145s 6/14 overflow.R: dat["grow 1.1", "prev"] == dat["grow 2.0", "self"] 145s [1] TRUE 145s 6/14 overflow.R: dat["grow 2.1", "prev"] == dat["grow 1.1", "self"] 145s [1] TRUE 145s 6/14 overflow.R: unitizer_sect("misc", { 145s 6/14 overflow.R: invisible(fansi:::set_int_max(5)) 145s 6/14 overflow.R: substr_ctl("\033[43mA B", 5, 5) 145s 6/14 overflow.R: substr_ctl("12345", 1, 5) 145s [1] "12345" 145s 6/14 overflow.R: substr_ctl("123456", 1, 6) 145s 6/14 overflow.R: fansi:::reset_limits() 145s [1] TRUE 145s 6/14 overflow.R: unitizer_sect("R_len_t", { 145s 6/14 overflow.R: old_rlent <- fansi:::set_rlent_max(5) 145s 6/14 overflow.R: tabs_as_spaces("A\tB") 145s 6/14 overflow.R: new_rlent <- fansi:::set_rlent_max(old_rlent) 145s 6/14 overflow.R: fansi:::reset_limits() 145s [1] TRUE 145s 6/14 overflow.R: unitizer_sect("internal", { 145s 6/14 overflow.R: tce(.Call(fansi:::FANSI_buff_test_reset)) 145s [1] "Internal Error: attempt to size buffer w/o reset in FANSI_buff_test_reset." 145s 6/14 overflow.R: tce(.Call(fansi:::FANSI_buff_test_copy_overflow)) 145s [1] "Internal Error: exceeded target buffer size in _copy." 145s 6/14 overflow.R: tce(.Call(fansi:::FANSI_buff_test_mcopy_overflow)) 145s [1] "Internal Error: exceeded target buffer size in _mcopy." 145s 6/14 overflow.R: tce(.Call(fansi:::FANSI_buff_test_fill_overflow)) 145s [1] "Internal Error: exceeded allocated buffer in _fill." 145s 145s 7/14 strip.R: 145s 7/14 strip.R: library(fansi) 145s 7/14 strip.R: unitizer_sect("Strip ansi", { 145s 7/14 strip.R: strip_ctl(sprintf("hello %sworld%s", red, end)) 145s [1] "hello world" 145s 7/14 strip.R: strip_ctl(sprintf("he%sllo %sworld", red, end)) 145s [1] "hello world" 145s 7/14 strip.R: strip_ctl(sprintf("%shello %sworld%s", grn.bg, red, end)) 145s [1] "hello world" 145s 7/14 strip.R: strip_ctl(sprintf("%s%shello %sworld%s", grn.bg, inv, red, end)) 145s [1] "hello world" 145s 7/14 strip.R: string <- paste("string", format(1:10)) 145s 7/14 strip.R: string[c(2, 4, 6)] <- paste0(red, string[c(2, 4, 6)], end) 145s 7/14 strip.R: strip_ctl(string) 145s [1] "string 1" "string 2" "string 3" "string 4" "string 5" "string 6" 145s [7] "string 7" "string 8" "string 9" "string 10" 145s 7/14 strip.R: strip_sgr(string) 145s [1] "string 1" "string 2" "string 3" "string 4" "string 5" "string 6" 145s [7] "string 7" "string 8" "string 9" "string 10" 145s 7/14 strip.R: strip_sgr(1:3) 145s [1] "1" "2" "3" 145s 7/14 strip.R: unitizer_sect("Corner cases", { 145s 7/14 strip.R: strip_ctl("hello\033") 145s [1] "hello" 145s 7/14 strip.R: strip_ctl("hello\033", ctl = c("nl", "c0")) 145s [1] "hello\033" 145s 7/14 strip.R: strip_ctl("hello\033[") 145s [1] "hello" 145s 7/14 strip.R: strip_ctl("hello\033[42") 145s [1] "hello" 145s 7/14 strip.R: strip_ctl("hello\033[42", ctl = c("all", "csi", "sgr")) 145s [1] "hello42" 145s 7/14 strip.R: strip_ctl("hello\033[31##3m illegal") 145s [1] "hello illegal" 145s 7/14 strip.R: strip_ctl("hello\033[31##m legal") 145s [1] "hello legal" 145s 7/14 strip.R: strip_ctl(1:3) 145s [1] "1" "2" "3" 145s 7/14 strip.R: unitizer_sect("Whitespace", { 145s 7/14 strip.R: fansi:::process("hello world") 145s [1] "hello world" 145s 7/14 strip.R: fansi:::process("hello. world") 145s [1] "hello. world" 145s 7/14 strip.R: fansi:::process(c("hello world", "hello. world")) 145s [1] "hello world" "hello. world" 145s 7/14 strip.R: fansi:::process("hello. world? moon! wow.") 145s [1] "hello. world? moon! wow." 145s 7/14 strip.R: fansi:::process(" hello") 145s [1] "hello" 145s 7/14 strip.R: fansi:::process(" hello\n world") 145s [1] "hello world" 145s 7/14 strip.R: fansi:::process(" hello \n world") 145s [1] "hello world" 145s 7/14 strip.R: fansi:::process(" hello world\n ") 145s [1] "hello world" 145s 7/14 strip.R: fansi:::process("hello. ") 145s [1] "hello." 145s 7/14 strip.R: fansi:::process("hello! ") 145s [1] "hello!" 145s 7/14 strip.R: fansi:::process("hello? ") 145s [1] "hello?" 145s 7/14 strip.R: fansi:::process("hello? ") 145s [1] "hello?" 145s 7/14 strip.R: fansi:::process(" \t hello") 145s [1] "hello" 145s 7/14 strip.R: fansi:::process(" \t\a\r hello") 145s [1] "\a\rhello" 145s 7/14 strip.R: fansi:::process(" \t\a\r hello", ctl = c("all", "c0")) 145s [1] "\a\r hello" 145s 7/14 strip.R: fansi:::process("hello. \r world.") 145s [1] "hello. \rworld." 145s 7/14 strip.R: fansi:::process("hello. \033[31m world.\033[0m") 145s [1] "hello. \033[31mworld.\033[0m" 145s 7/14 strip.R: str1 <- c("hello ", " world") 145s 7/14 strip.R: fansi:::process(str1) 145s [1] "hello" "world" 145s 7/14 strip.R: str1 145s [1] "hello " " world" 145s 7/14 strip.R: fansi:::process("hello.\n\nworld") 145s [1] "hello.\n\nworld" 145s 7/14 strip.R: fansi:::process("hello.\n\n\nworld") 145s [1] "hello.\n\nworld" 145s 7/14 strip.R: fansi:::process("hello.\n\n\n\nworld") 145s [1] "hello.\n\nworld" 145s 7/14 strip.R: fansi:::process("hello.\n \nworld") 145s [1] "hello.\n\nworld" 145s 7/14 strip.R: fansi:::process("hello.\n\t\nworld") 145s [1] "hello.\n\nworld" 145s 7/14 strip.R: fansi:::process("hello.\n\t\n\tworld") 145s [1] "hello.\n\nworld" 145s 7/14 strip.R: fansi:::process("hello.\n \t \n \t world") 145s [1] "hello.\n\nworld" 145s 7/14 strip.R: fansi:::process("hello.\n\nworld\n\n") 145s [1] "hello.\n\nworld" 145s 7/14 strip.R: fansi:::process("hello.\n\nworld\n\n ") 145s [1] "hello.\n\nworld" 145s 7/14 strip.R: fansi:::process("\n\nhello.\n\t\n\tworld\n\t\n woohoo\n ") 145s [1] "\n\nhello.\n\nworld\n\nwoohoo" 145s 7/14 strip.R: fansi:::process("\n \t\nhello.\n\t\n\tworld\n\t\n woohoo\n ") 145s [1] "\n\nhello.\n\nworld\n\nwoohoo" 145s 7/14 strip.R: fansi:::process("hello.\n\033[44m\nworld") 145s [1] "hello.\n\n\033[44mworld" 145s 7/14 strip.R: fansi:::process("hello.\n\033[44m\n \t\nworld") 145s [1] "hello.\n\n\033[44mworld" 145s 7/14 strip.R: fansi:::process("hello.\033[44m\n\n \t\nworld") 145s [1] "hello.\033[44m\n\nworld" 145s 7/14 strip.R: fansi:::process("hello.\n\n \t\n\033[44mworld") 145s [1] "hello.\n\n\033[44mworld" 145s 7/14 strip.R: fansi:::process("hello.\n\n\033[44m \t\nworld") 145s [1] "hello.\n\n\033[44mworld" 145s 7/14 strip.R: fansi:::process("hello \033[44m world") 145s [1] "hello \033[44mworld" 145s 7/14 strip.R: fansi:::process("hello. \033[44m world") 145s [1] "hello. \033[44mworld" 145s 7/14 strip.R: fansi:::process("hello\033[44m\033[31m world") 145s [1] "hello\033[44m\033[31m world" 145s 7/14 strip.R: fansi:::process("hello\033[44m\033[31m\n\nworld") 145s [1] "hello\033[44m\033[31m\n\nworld" 145s 7/14 strip.R: fansi:::process("hello\n\033[44m\033[31m\nworld") 145s [1] "hello\n\n\033[44m\033[31mworld" 145s 7/14 strip.R: fansi:::process("hello\n\n\033[44m\033[31mworld") 145s [1] "hello\n\n\033[44m\033[31mworld" 145s 7/14 strip.R: fansi:::process("hello\033[44m\033[31d world") 145s [1] "hello\033[44m\033[31d world" 145s 7/14 strip.R: fansi:::process("hello \033[44m\033[31d world") 145s [1] "hello \033[44m\033[31dworld" 145s 7/14 strip.R: fansi:::process("hello \033[44m \033[31d world") 145s [1] "hello \033[44m\033[31dworld" 145s 7/14 strip.R: fansi:::process("hello\033[44m\033[31d world", ctl = c("all", 145s [1] "hello\033[44m\033[31d world" 145s Error in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 145s Strings longer than INT_MAX not supported (length 6 at index 1). 145s Calls: unitize_dir ... withVisible -> substr_ctl -> substr2_ctl -> substr_ctl_internal 145s Error in tabs_as_spaces("A\tB") : 145s Attempting to create CHARSXP longer than R_LEN_T_MAX at index [1]. 145s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> tabs_as_spaces 145s Warning in strip_ctl("hello\033") : 145s Argument `x` contains a malformed escape sequence at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 145s Warning in strip_ctl("hello\033[") : 145s Argument `x` contains a malformed CSI or OSC sequence at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 145s Warning in strip_ctl("hello\033[42") : 145s Argument `x` contains a malformed CSI or OSC sequence at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 145s 7/14 strip.R: fansi:::process("hello \033[44m\033[31d world", ctl = c("all", 145s [1] "hello \033[44m\033[31d world" 145s 7/14 strip.R: fansi:::process("hello \033[44m \033[31d world", ctl = c("all", 145s [1] "hello \033[44m\033[31d world" 145s 7/14 strip.R: fansi:::process("hello\033[44m\a world", ctl = c("all")) 145s [1] "hello\033[44m\a world" 145s 7/14 strip.R: fansi:::process("hello\033[44m\a world", ctl = c("all", "c0")) 145s [1] "hello\033[44m\a world" 145s 7/14 strip.R: fansi:::process("hello. \033[44m\a world", ctl = c("all")) 145s [1] "hello. \033[44m\aworld" 145s 7/14 strip.R: fansi:::process("hello. \033[44m\a world", ctl = c("all", "c0")) 145s [1] "hello. \033[44m\a world" 145s 7/14 strip.R: fansi:::process("hello. \033[44m \a world", ctl = c("all")) 145s [1] "hello. \033[44m\aworld" 145s 7/14 strip.R: fansi:::process("hello. \033[44m \a world", ctl = c("all", "c0")) 145s [1] "hello. \033[44m\a world" 145s 7/14 strip.R: fansi:::process("hello.\n\033[44m \a world", ctl = c("all")) 145s [1] "hello. \033[44m\aworld" 145s 7/14 strip.R: fansi:::process("hello.\n\033[44m \a world", ctl = c("all", "c0") 145s [1] "hello. \033[44m\a world" 145s 7/14 strip.R: fansi:::process("hello.\n\033[44m\n\a world", ctl = c("all")) 145s [1] "hello.\n\n\033[44m\aworld" 145s 7/14 strip.R: fansi:::process("hello.\n\033[44m\n\a world", ctl = c("all", 145s [1] "hello.\n\n\033[44m\a world" 145s 7/14 strip.R: fansi:::process("hello.\n\033[44m\a\n world", ctl = c("all")) 145s [1] "hello.\n\n\033[44m\aworld" 145s 7/14 strip.R: fansi:::process("hello.\n\033[44m\a\n world", ctl = c("all", 145s [1] "hello. \033[44m\a world" 145s 7/14 strip.R: unitizer_sect("Selective stripping", { 145s 7/14 strip.R: string.0 <- "hello\033k\033[45p world\n\033[31mgoodbye\a moon" 145s 7/14 strip.R: strip_ctl(string.0) 145s [1] "hello worldgoodbye moon" 145s 7/14 strip.R: strip_ctl(string.0, "sgr") 145s [1] "hello\033k\033[45p world\ngoodbye\a moon" 145s 7/14 strip.R: strip_ctl(string.0, c("nl", "c0", "sgr", "csi", "esc")) 145s [1] "hello worldgoodbye moon" 145s 7/14 strip.R: strip_ctl(string.0, "all") 145s [1] "hello worldgoodbye moon" 145s 7/14 strip.R: strip_ctl(string.0, c("c0", "esc")) 145s [1] "hello45p world\n31mgoodbye moon" 145s 7/14 strip.R: strip_ctl(string.0, c("nl")) 145s [1] "hello\033k\033[45p world\033[31mgoodbye\a moon" 145s 7/14 strip.R: strip_ctl(string.0, character()) 145s [1] "hello\033k\033[45p world\n\033[31mgoodbye\a moon" 145s 7/14 strip.R: strip_ctl(string.0, c("all", "c0", "esc")) 145s [1] "hello\033k worldgoodbye\a moon" 145s 7/14 strip.R: strip_ctl(string.0, c("all", "sgr")) 145s [1] "hello world\033[31mgoodbye moon" 145s 7/14 strip.R: string.1 <- "hello\033\033[45p world\n\033[31#3mgoodbye\a moon" 145s 7/14 strip.R: strip_ctl(string.1, c("nl", "sgr", "esc")) 145s [1] "hello[45p worldgoodbye\a moon" 145s Warning in strip_ctl(string.1, c("nl", "sgr", "esc")) : 145s Argument `x` contains a malformed escape sequence at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 145s 7/14 strip.R: strip_ctl(string.1, c("csi")) 145s [1] "hello\033 world\n\033[31#3mgoodbye\a moon" 145s Warning in strip_ctl(string.1, "all") : 145s Argument `x` contains a malformed escape sequence at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off thes 7/14 strip.R: strip_ctl(string.1, "all") 145s [1] "hello[45p worldgoodbye moon" 145s e warnings. 145s 7/14 strip.R: strip_ctl(string.1, c("c0", "nl")) 145s [1] "hello\033\033[45p world\033[31#3mgoodbye moon" 145s 7/14 strip.R: strip_ctl(string.1, c("all", "sgr")) 145s [1] "hello[45p world\033[31#3mgoodbye moon" 145s Warning in strip_ctl(string.1, c("all", "sgr")) : 145s Argument `x` contains a malformed escape sequence at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 145s 7/14 strip.R: strip_sgr(string.1) 145s [1] "hello\033\033[45p world\ngoodbye\a moon" 145s 7/14 strip.R: strip_ctl(c(string.0, string.1, "hello"), warn = FALSE) 145s [1] "hello worldgoodbye moon" "hello[45p worldgoodbye moon" 145s [3] "hello" 145s 7/14 strip.R: string.2 <- "\033k\033[45p\a\n\033[31mgoodbye moon" 145s 7/14 strip.R: strip_ctl(string.2) 145s [1] "goodbye moon" 145s 7/14 strip.R: strip_ctl(string.2, "sgr") 145s [1] "\033k\033[45p\a\ngoodbye moon" 145s 7/14 strip.R: string.3 <- "hello world\033k\033[45p\a\n\033[31m" 145s 7/14 strip.R: strip_ctl(string.3) 145s [1] "hello world" 145s 7/14 strip.R: strip_ctl(string.3, "sgr") 145s [1] "hello world\033k\033[45p\a\n" 145s 7/14 strip.R: unitizer_sect("Bad Inputs", { 145s 7/14 strip.R: strip_ctl("hello\033[41mworld", warn = 1:3) 145s Error in strip_ctl("hello\033[41mworld", warn = 1:3) : 145s Argument `warn` must be TRUE or FALSE. 145s Calls: unitize_dir ... eval -> withVisible -> strip_ctl -> VAL_IN_ENV -> stop2 145s 7/14 strip.R: strip_ctl("hello\033[41mworld", ctl = 1:3) 145s Error in strip_ctl("hello\033[41mworld", ctl = 1:3) : 145s Argument `ctl` must be character. 145s Calls: unitize_dir ... eval -> withVisible -> strip_ctl -> VAL_IN_ENV -> stop2 145s 7/14 strip.R: strip_ctl("hello\033[41mworld", ctl = "bananas") 145s Error in strip_ctl("hello\033[41mworld", ctl = "bananas") : 145s Argument `ctl` may contain only values in `c("all", "nl", "c0", "sgr", "csi", "esc", "url", "osc")` 145s Calls: unitize_dir ... eval -> withVisible -> strip_ctl -> VAL_IN_ENV -> stop2 145s 7/14 strip.R: strip_ctl("hello\033[41mworld", strip = "sgr") 145s Parameter `strip` has been deprecated; use `ctl` instead. 145s [1] "helloworld" 145s 7/14 strip.R: strip_sgr("hello\033[41mworld", warn = 1:3) 145s Error in strip_sgr("hello\033[41mworld", warn = 1:3) : 145s Argument `warn` must be TRUE or FALSE. 145s Calls: unitize_dir ... eval -> withVisible -> strip_sgr -> VAL_IN_ENV -> stop2 145s 145s 8/14 strsplit.R: 145s 8/14 strsplit.R: library(fansi) 145s 8/14 strsplit.R: unitizer_sect("basic splits", { 145s 8/14 strsplit.R: str.0 <- c("hello world", "goodbye moon") 145s 8/14 strsplit.R: identical(strsplit(str.0[1], " "), strsplit_ctl(str.0[1], " ") 145s [1] TRUE 145s 8/14 strsplit.R: identical(strsplit(str.0, "h"), strsplit_ctl(str.0, "h")) 145s [1] TRUE 145s 8/14 strsplit.R: identical(strsplit(str.0, "m"), strsplit_ctl(str.0, "m")) 145s [1] TRUE 145s 8/14 strsplit.R: identical(strsplit(str.0, "g"), strsplit_ctl(str.0, "g")) 145s [1] TRUE 145s 8/14 strsplit.R: str.1 <- "hello\033[31m world" 145s 8/14 strsplit.R: str.2 <- "\033[42m hello\033[m world, Goodbye Moon" 145s 8/14 strsplit.R: strsplit_ctl(str.1, " ") 145s [[1]] 145s [1] "hello" "\033[31mworld\033[0m" 145s 145s 8/14 strsplit.R: strsplit_ctl(str.1, "hello") 145s [[1]] 145s [1] "" "\033[31m world\033[0m" 145s 145s 8/14 strsplit.R: strsplit_ctl(str.2, ", ") 145s [[1]] 145s [1] "\033[42m hello\033[m world" "Goodbye Moon" 145s 145s 8/14 strsplit.R: strsplit_ctl(c(str.1, "hello world", str.2), "hello") 145s [[1]] 145s [1] "" "\033[31m world\033[0m" 145s 145s [[2]] 145s [1] "" " world" 145s 145s [[3]] 145s [1] "\033[42m \033[0m" " world, Goodbye Moon" 145s 145s 8/14 strsplit.R: unitizer_sect("corner cases", { 145s 8/14 strsplit.R: strsplit_ctl("hello\033[31m world", "") 145s [[1]] 145s [1] "h" "e" "l" "l" 145s [5] "o" "\033[31m \033[0m" "\033[31mw\033[0m" "\033[31mo\033[0m" 145s [9] "\033[31mr\033[0m" "\033[31ml\033[0m" "\033[31md\033[0m" 145s 145s 8/14 strsplit.R: strsplit_ctl("hello\033[31m world", "[", fixed = TRUE) 145s [[1]] 145s [1] "hello\033[31m world" 145s 145s 8/14 strsplit.R: strsplit_ctl("hello\033[31m world", NA_character_) 145s Error in strsplit_ctl("hello\033[31m world", NA_character_) : 145s Argument `split` may not contain NAs. 145s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> strsplit_ctl 145s 8/14 strsplit.R: strsplit_ctl("hello\033[31m world", character()) 145s [[1]] 145s [1] "h" "e" "l" "l" 145s [5] "o" "\033[31m \033[0m" "\033[31mw\033[0m" "\033[31mo\033[0m" 145s [9] "\033[31mr\033[0m" "\033[31ml\033[0m" "\033[31md\033[0m" 145s 145s 8/14 strsplit.R: strsplit_ctl("hello\033[31m world", letters) 145s [[1]] 145s [1] "hello\033[31m world" 145s 146s 8/14 strsplit.R: splits <- c("h", "e", "o", "llo", "x", "hello") 146s 8/14 strsplit.R: str.spl1 <- strsplit_ctl(rep("hello", 6), splits) 146s 8/14 strsplit.R: str.spl2 <- strsplit(rep("hello", 6), splits) 146s 8/14 strsplit.R: identical(str.spl1, str.spl2) 146s [1] TRUE 146s 8/14 strsplit.R: str.spl3 <- strsplit_ctl(rep("\033[31mhello\033[39m", 6), spli 146s 8/14 strsplit.R: str.spl3 146s [[1]] 146s [1] "" "\033[31mello\033[0m" 146s 146s [[2]] 146s [1] "\033[31mh\033[0m" "\033[31mllo\033[0m" 146s 146s [[3]] 146s [1] "\033[31mhell\033[0m" 146s 146s [[4]] 146s [1] "\033[31mhe\033[0m" 146s 146s [[5]] 146s [1] "\033[31mhello\033[39m" 146s 146s [[6]] 146s [1] "" 146s 146s 8/14 strsplit.R: identical(lapply(str.spl3, strip_ctl), str.spl2) 146s [1] TRUE 146s 8/14 strsplit.R: strsplit_ctl("", " ") 146s [[1]] 146s character(0) 146s 146s 8/14 strsplit.R: strsplit_ctl("", "") 146s [[1]] 146s character(0) 146s 146s 8/14 strsplit.R: strsplit_ctl(c("\033[31mab\033[0m", ""), "") 146s [[1]] 146s [1] "\033[31ma\033[0m" "\033[31mb\033[0m" 146s 146s [[2]] 146s character(0) 146s 146s 8/14 strsplit.R: strsplit_ctl("hello", NULL) 146s [[1]] 146s [1] "h" "e" "l" "l" "o" 146s 146s 8/14 strsplit.R: str.sp14 <- c("\033[31mhello\nworld", "\ngoodbye\nmoon") 146s 8/14 strsplit.R: strsplit_ctl(str.sp14, "\n") 146s [[1]] 146s [1] "\033[31mhello\nworld" 146s 146s [[2]] 146s [1] "\ngoodbye\nmoon" 146s 146s 8/14 strsplit.R: strsplit_sgr(str.sp14, "\n") 146s [[1]] 146s [1] "\033[31mhello\033[0m" "\033[31mworld\033[0m" 146s 146s [[2]] 146s [1] "" "goodbye" "moon" 146s 146s 8/14 strsplit.R: strsplit_ctl(str.sp14, "\n", ctl = c("all", "nl")) 146s [[1]] 146s [1] "\033[31mhello\033[0m" "\033[31mworld\033[0m" 146s 146s [[2]] 146s [1] "" "goodbye" "moon" 146s 146s 8/14 strsplit.R: unitizer_sect("bad intputs", { 146s 8/14 strsplit.R: str.bytes <- "\336" 146s 8/14 strsplit.R: Encoding(str.bytes) <- "bytes" 146s 8/14 strsplit.R: strsplit_ctl(str.bytes, "") 146s Error in strsplit_ctl(str.bytes, "") : 146s Argument `x` contains a "bytes" encoded string at index [1], which is disallowed. 146s Calls: unitize_dir ... eval -> withVisible -> strsplit_ctl -> VAL_IN_ENV -> stop2 146s 8/14 strsplit.R: strsplit_ctl(str.2, NA) 146s Error in strsplit_ctl(str.2, NA) : Argument `split` may not contain NAs. 146s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> strsplit_ctl 146s 8/14 strsplit.R: strsplit_ctl(str.2, "", warn = NULL) 146s Error in strsplit_ctl(str.2, "", warn = NULL) : 146s Argument `warn` must be TRUE or FALSE. 146s Calls: unitize_dir ... eval -> withVisible -> strsplit_ctl -> VAL_IN_ENV -> stop2 146s 8/14 strsplit.R: strsplit_ctl(str.2, "", fixed = NA_integer_) 146s Error in strsplit_ctl(str.2, "", fixed = NA_integer_) : 146s Argument `fixed` must be TRUE or FALSE. 146s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> strsplit_ctl 146s 8/14 strsplit.R: strsplit_ctl(str.2, "", perl = NA_integer_) 146s Error in strsplit_ctl(str.2, "", perl = NA_integer_) : 146s Argument `perl` must be TRUE or FALSE. 146s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> strsplit_ctl 146s 8/14 strsplit.R: strsplit_ctl(str.2, "", useBytes = NA_integer_) 146s Error in strsplit_ctl(str.2, "", useBytes = NA_integer_) : 146s Argument `useBytes` must be TRUE or FALSE. 146s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> strsplit_ctl 146s 8/14 strsplit.R: strsplit_ctl(str.2, "", term.cap = 1:3) 146s 8/14 strsplit.R: strsplit_ctl(str.2, "", term.cap = "bananas") 146s Error in strsplit_ctl(str.2, "", term.cap = 1:3) : 146s Argument `term.cap` must be character. 146s Calls: unitize_dir ... eval -> withVisible -> strsplit_ctl -> VAL_IN_ENV -> stop2 146s Error in strsplit_ctl(str.2, "", term.cap = "bananas") : 146s Argument `term.cap` may only contain values in c("all", "bright", "256", "truecolor", "old") 146s Calls: unitize_dir ... eval -> withVisible -> strsplit_ctl -> VAL_IN_ENV -> stop2 146s Error in strsplit_ctl(str.2, "", ctl = 1:3) : 146s Argument `ctl` must be character. 146s Calls: unitize_dir ... eval -> withVisible -> strsplit_ctl -> VAL_IN_ENV -> stop2 146s 8/14 strsplit.R: strsplit_ctl(str.2, "", ctl = 1:3) 146s 8/14 strsplit.R: strsplit_ctl(str.2, "", ctl = "bananas") 146s 8/14 strsplit.R: strsplit_ctl("a b", str.bytes) 146s Error in strsplit_ctl(str.2, "", ctl = "bananas") : 146s Argument `ctl` may contain only values in `c("all", "nl", "c0", "sgr", "csi", "esc", "url", "osc")` 146s Calls: unitize_dir ... eval -> withVisible -> strsplit_ctl -> VAL_IN_ENV -> stop2 146s Error in strsplit_ctl("a b", str.bytes) : 146s Argument `split` may not be "bytes" encoded. 146s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> strsplit_ctl 146s 8/14 strsplit.R: unitizer_sect("issue 55", { 146s 8/14 strsplit.R: strsplit_ctl("hello\nworld", "\n") 146s [[1]] 146s [1] "hello\nworld" 146s 146s 8/14 strsplit.R: strsplit_sgr("hello\033[31mworld", "\033[31m", fixed = TRUE) 146s [[1]] 146s [1] "hello\033[31mworld" 146s 146s 8/14 strsplit.R: strsplit_ctl("a\nb", "\n", ctl = c("all", "nl")) 146s [[1]] 146s [1] "a" "b" 146s 146s 8/14 strsplit.R: strsplit_sgr("hello\nworld", "\n") 146s [[1]] 146s [1] "hello" "world" 146s 146s 146s 9/14 substr.R: 146s 9/14 substr.R: library(fansi) 146s 9/14 substr.R: unitizer_sect("Simple", { 146s 9/14 substr.R: str01 <- sprintf("hello %sworld%s how", red, inv) 146s 9/14 substr.R: substr_ctl(str01, 1, 7) 146s [1] "hello \033[31mw\033[0m" 146s 9/14 substr.R: substr_ctl(str01, 7, 11) 146s [1] "\033[31mworld\033[0m" 146s 9/14 substr.R: substr_ctl(str01, 8, 10) 146s [1] "\033[31morl\033[0m" 146s 9/14 substr.R: substr_ctl(str01, 8, 14) 146s [1] "\033[31morld\033[7m ho\033[0m" 146s 9/14 substr.R: str02 <- sprintf("%shello world %sit's a %scrazy world%s out the 146s 9/14 substr.R: term.cap <- c("bright", "256", "truecolor") 146s 9/14 substr.R: substr_ctl(str02, 1, 7) 146s [1] "\033[42mhello w\033[0m" 146s 9/14 substr.R: substr_ctl(str02, 10, 20) 146s [1] "\033[42mld \033[31mit's a \033[0mc" 146s 9/14 substr.R: substr_ctl(str02, 15, 40, term.cap = term.cap) 146s [1] "\033[31;42m's a \033[0mcrazy world\033[4;38;2;0;120;200m out there\033[0m" 146s 9/14 substr.R: substr_ctl(str02, 35, 60, term.cap = term.cap) 146s [1] "\033[4;38;2;0;120;200m there \033[7misn't it\033[0m\033[48;5;141m right?\033[0m" 146s 9/14 substr.R: str03 <- sprintf("hello %sworld", rgb.und) 146s 9/14 substr.R: substr_ctl(str03, 1, 12, term.cap = term.cap) 146s [1] "hello \033[4;38;2;0;120;200mworld\033[0m" 146s 9/14 substr.R: str04 <- sprintf("hello%s%s world%s%s yowza", red, inv, grn.bg, 146s 9/14 substr.R: substr_ctl(str04, 5, 7, term.cap = term.cap) 146s [1] "o\033[31m\033[7m w\033[0m" 146s 9/14 substr.R: substr_ctl(str04, 5, 13, term.cap = term.cap) 146s [1] "o\033[31m\033[7m world\033[42m\033[4;38;2;0;120;200m y\033[0m" 146s 9/14 substr.R: unitizer_sect("Multi-line", { 146s 9/14 substr.R: str.m.0 <- paste0("\033[44m", c("hello world", rep("goodbye \033 146s 9/14 substr.R: substr_ctl(str.m.0, (1:4) * 2, (3:8) * 2) 146s [1] "\033[44mello \033[0m" "\033[44mdbye \033[0m" 146s [3] "\033[44mye \033[45mmo\033[0m" "\033[44mombas\033[0m" 146s 9/14 substr.R: unitizer_sect("tabs", { 146s 9/14 substr.R: substr2_ctl("yo\tworld", 1, 8, tabs.as.spaces = TRUE) 146s [1] "yo " 146s 9/14 substr.R: unitizer_sect("Corner cases", { 146s 9/14 substr.R: substr_ctl("hello", 0, -1) 146s [1] "" 146s 9/14 substr.R: substr_ctl("hello", 0, 0) 146s [1] "" 146s 9/14 substr.R: substr_ctl(rep("hello", 2), c(1, 0), c(1, 1)) 146s [1] "h" "h" 146s 9/14 substr.R: substr_ctl(character(), 1, 1) 146s character(0) 146s 9/14 substr.R: substr_ctl(list("hello", list("goodbye", "there")), 1, 2) 146s [1] "he" "li" 146s 9/14 substr.R: substr_ctl(structure(list(list("goodbye", "there")), class = "fo 146s [1] "li" 146s 9/14 substr.R: str.0 <- "\033[31mred\033[m" 146s 9/14 substr.R: str.1 <- "\033[31mred\033[42m" 146s 9/14 substr.R: str.2 <- c(str.0, str.1) 146s 9/14 substr.R: substr_ctl(str.2, 0, 0) 146s [1] "" "" 146s 9/14 substr.R: substr_ctl(str.2, 1, 1) 146s [1] "\033[31mr\033[0m" "\033[31mr\033[0m" 146s 9/14 substr.R: substr_ctl(str.2, 3, 3) 146s [1] "\033[31md\033[0m" "\033[31md\033[0m" 146s 9/14 substr.R: substr_ctl(str.2, 4, 4) 146s [1] "" "" 146s 9/14 substr.R: substr_ctl(str.2, 3, 4) 146s [1] "\033[31md\033[0m" "\033[31md\033[0m" 146s 9/14 substr.R: substr_ctl(str.2, 3, 5) 146s [1] "\033[31md\033[0m" "\033[31md\033[0m" 146s 9/14 substr.R: substr_ctl(str.2, 3, 4, terminate = FALSE) 146s [1] "\033[31md\033[m" "\033[31md\033[42m" 146s 9/14 substr.R: substr_ctl(str.2, 3, 5, terminate = FALSE) 146s [1] "\033[31md\033[m" "\033[31md\033[42m" 146s 9/14 substr.R: substr_ctl(str.2, -1, 2) 146s [1] "\033[31mre\033[0m" "\033[31mre\033[0m" 146s 9/14 substr.R: substr_ctl(str.2, -2, -1) 146s [1] "" "" 146s 9/14 substr.R: substr_ctl(str.2, 4, 1) 146s [1] "" "" 146s 9/14 substr.R: substr_ctl(str.2, 4, 1, terminate = FALSE) 146s [1] "" "" 146s 9/14 substr.R: substr_ctl(str.2, 4, 1, carry = "\033[44m") 146s [1] "" "" 146s 9/14 substr.R: substr_ctl(str.2, 4, 1, carry = "\033[44m", terminate = FALSE) 146s [1] "" "" 146s 9/14 substr.R: substr_ctl("hello", 5, 5) 146s [1] "o" 146s 9/14 substr.R: substr_ctl("hello", 6, 6) 146s [1] "" 146s 9/14 substr.R: substr_ctl("hello", 7, 6) 146s [1] "" 146s 9/14 substr.R: substr_ctl("hello", 6, 7) 146s [1] "" 146s 9/14 substr.R: substr_ctl("hello", 7, 5) 146s [1] "" 146s 9/14 substr.R: substr_ctl("hello", 0, 6) 146s [1] "hello" 146s 9/14 substr.R: substr_ctl("hello", 0, 5) 146s [1] "hello" 146s 9/14 substr.R: substr_ctl("hello", 1, 6) 146s [1] "hello" 146s 9/14 substr.R: substr_ctl("hello", "1", 1) 146s [1] "h" 146s 9/14 substr.R: substr_ctl("hello", 1, "1") 146s [1] "h" 146s 9/14 substr.R: substr_ctl("hello", "a", "b") 146s [1] NA 146s Warning in substr2_ctl(x = x, start = start, stop = stop, warn = warn, term.cap = term.cap, : 146s NAs introduced by coercion 146s Warning in substr2_ctl(x = x, start = start, stop = stop, warn = warn, term.cap = term.cap, : 146s NAs introduced by coercion 146s 9/14 substr.R: substr_ctl("hello", 1, NA_integer_) 146s [1] NA 146s 9/14 substr.R: substr_ctl("hello", NA_integer_, 1) 146s [1] NA 146s 9/14 substr.R: substr_ctl(rep("\033[31mhello\033[m", 3), c(3, 2, 1), c(3, 4, 146s [1] "\033[31ml\033[0m" "\033[31mell\033[0m" "\033[31mhello\033[0m" 146s 9/14 substr.R: str.3 <- structure("fu\033[42mba\033[0mr", class = "foo", at = " 146s 9/14 substr.R: substr_ctl(str.3, 2, 3) 146s [1] "u\033[42mb\033[0m" 146s attr(,"class") 146s [1] "foo" 146s attr(,"at") 146s [1] "bar" 146s 9/14 substr.R: substr_ctl(str.2, 2, 6, ctl = c("all", "sgr")) 146s [1] "[31mr" "[31mr" 146s 9/14 substr.R: substr_ctl(str.2, 8, 10, ctl = c("all", "sgr")) 146s [1] "d\033[" "d\033[" 146s 9/14 substr.R: substr2_ctl(rep("o\033[31m ", 2), 1:2, 1:2) 146s [1] "o" "\033[31m \033[0m" 146s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 146s Argument `x` contains a non-SGR CSI or a non-URL OSC sequence at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 146s 9/14 substr.R: substr_ctl("hello\033[41b", 1, 5) 146s [1] "hello" 146s 9/14 substr.R: substr_ctl("hello\033[41b", 1, 6) 146s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 146s Argument `x` contains a non-SGR CSI or a non-URL OSC sequence at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to t[1] "hello\033[41b" 146s urn off these warnings. 146s 9/14 substr.R: substr_ctl("\033[1p\033[31mA", 1, 1) 146s [1] "\033[31mA\033[0m" 146s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 146s Argument `x` contains a non-SGR CSI or a non-URL OSC sequence at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 146s 9/14 substr.R: substr_ctl("\033[1p\033[31mA", 0, 1) 146s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 146s Argument `x` contains a non-SGR CSI or a non-URL OSC sequence at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 146s [1] "\033[1p\033[31mA\033[0m" 146s 9/14 substr.R: substr_ctl("\033[1p\033[31mA", -1, 1) 146s [1] "\033[1p\033[31mA\033[0m" 146s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 146s Argument `x` contains a non-SGR CSI or a non-URL OSC sequence at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 146s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 146s Argument `x` contains a non-SGR CSI or a non-URL OSC sequence at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 146s 9/14 substr.R: substr_ctl("\033[31m\033[1pA", 1, 1) 146s [1] "\033[31mA\033[0m" 146s 9/14 substr.R: substr_ctl("\033[31m\033[1pA", 0, 1) 146s [1] "\033[31m\033[1pA\033[0m" 146s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 146s Argument `x` contains a non-SGR CSI or a non-URL OSC sequence at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 146s 9/14 substr.R: substr_ctl("\033[31m\033[1pA", -1, 1) 146s [1] "\033[31m\033[1pA\033[0m" 146s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 146s Argument `x` contains a non-SGR CSI or a non-URL OSC sequence at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 146s 9/14 substr.R: substr_ctl("\033[41m\033[1mA", 1, 1) 146s [1] "\033[1;41mA\033[0m" 146s 9/14 substr.R: substr_ctl("\033[41m\033[1mA", 0, 1) 146s [1] "\033[1;41mA\033[0m" 146s 9/14 substr.R: substr_ctl("\033[41m\033[1mA", -1, 1) 146s [1] "\033[1;41mA\033[0m" 146s 9/14 substr.R: str.4 <- c("A\033[45mB", "A") 146s 9/14 substr.R: substr_ctl(str.4, 1, 1, carry = TRUE, terminate = FALSE) 146s [1] "A" "\033[45mA" 146s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 146s Argument `x` contains a malformed CSI or OSC sequence at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 146s 9/14 substr.R: substr_ctl("a\033[42", 1, 1) 146s [1] "a" 146s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 146s Argument `x` contains a malformed CSI or OSC sequence at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 146s 9/14 substr.R: substr_ctl("a\033[42", 1, 2) 146s [1] "a\033[42" 146s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 146s Argument `x` contains a malformed CSI or OSC sequence at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 146s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 146s Argument `x` contains a malformed CSI or OSC sequence at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 146s 9/14 substr.R: substr_ctl("a\033[42", 1, 2, terminate = FALSE) 146s [1] "a\033[42" 146s 9/14 substr.R: substr_ctl("a\033]8;;END", 1, 1) 146s [1] "a" 146s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 146s Argument `x` contains a malformed CSI or OSC sequence at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 146s 9/14 substr.R: substr_ctl("a\033]8;;END", 1, 2) 146s [1] "a" 146s 9/14 substr.R: substr_ctl("a\033]8;;END", 1, 2, terminate = FALSE) 146s [1] "a\033]8;;END" 146s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 146s Argument `x` contains a malformed CSI or OSC sequence at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 146s 9/14 substr.R: substr_ctl("a\033];;END", 1, 1) 146s [1] "a" 146s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 146s Argument `x` contains a malformed CSI or OSC sequence at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 146s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 146s Argument `x` contains a malformed CSI or OSC sequence at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 146s 9/14 substr.R: substr_ctl("a\033];;END", 1, 2) 146s [1] "a\033];;END" 146s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 146s Argument `x` contains a CSI SGR sequence or OSC hyperlink with invalid substrings at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 146s 9/14 substr.R: substr_ctl("a\033[38;5mb", 1, 2, term.cap = "all") 146s [1] "a\033[38;5mb" 146s 9/14 substr.R: substr_ctl("a\033[38;2mb", 1, 2, term.cap = "all") 146s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 146s Argument `x` contains a CSI SGR sequence or OSC hyperlink with invalid substrings at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 146s [1] "a\033[38;2mb" 146s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 146s Argument `x` contains a CSI SGR sequence or OSC hyperlink with invalid substrings at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 146s 9/14 substr.R: substr_ctl("a\033[38;2;255mb", 1, 2, term.cap = "all") 146s [1] "a\033[38;2;255mb" 146s 9/14 substr.R: substr_ctl("a\033[38;2;255;255mb", 1, 2, term.cap = "all") 146s [1] "a\033[38;2;255;255mb" 146s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 146s Argument `x` contains a CSI SGR sequence or OSC hyperlink with invalid substrings at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 146s 9/14 substr.R: substr_ctl("\033[45pA", 1, 1, warn = FALSE) 146s [1] "A" 146s 9/14 substr.R: substr_ctl("\033[45pA", 0, 1, warn = FALSE) 146s [1] "\033[45pA" 146s 9/14 substr.R: substr_ctl(c("AB", NA, "CD"), 1, 2) 146s [1] "AB" NA "CD" 146s 9/14 substr.R: substr_ctl(c("AB", NA, "CD"), 1, 2, carry = TRUE) 146s [1] "AB" NA NA 146s 9/14 substr.R: substr_ctl(c("AB", "CD"), c(NA, 1), 2) 146s [1] NA "CD" 146s 9/14 substr.R: substr_ctl(c("AB", "CD"), c(NA, 1), 2, carry = TRUE) 146s [1] NA "CD" 146s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 146s Argument `x` contains a CSI SGR sequence with color codes not supported by terminal at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 146s 9/14 substr.R: substr_ctl("\033[38;5;4mA", 1, 1, term.cap = "bright") 146s [1] "\033[38;5;4mA\033[0m" 146s 9/14 substr.R: substr_ctl("\033[38;5;4mA", 1, 1, term.cap = c("bright", "old")) 146s [1] "\033[4;5mA\033[0m" 146s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 146s Argument `x` contains a CSI SGR sequence with color codes not supported by terminal at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 146s 9/14 substr.R: substr_ctl("\033[38;5;4mA", 1, 1, term.cap = c("all", "256")) 146s [1] "\033[38;5;4mA\033[0m" 146s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 146s Argument `x` contains a CSI SGR sequence with color codes not supported by terminal at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 146s 9/14 substr.R: substr_ctl("\033[38;5;4mA", 1, 1, term.cap = c("all", "256", 146s [1] "\033[4;5mA\033[0m" 146s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 146s Argument `x` contains a CSI SGR sequence with color codes not supported by terminal at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 146s 9/14 substr.R: substr_ctl("\033[38;5;4mA", 1, 1, term.cap = c("256")) 146s [1] "\033[38;5;4mA\033[0m" 146s 9/14 substr.R: substr_ctl("\033[38;5;4mA", 1, 1, term.cap = c("256", "old")) 146s [1] "\033[38;5;4mA\033[0m" 146s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 146s Argument `x` contains a CSI SGR sequence with color codes not supported by terminal at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 146s 9/14 substr.R: substr_ctl("\033[38;2;1;1;1mA", 1, 1, term.cap = "bright") 146s [1] "\033[38;2;1;1;1mA\033[0m" 146s 9/14 substr.R: substr_ctl("\033[38;2;1;1;1mA", 1, 1, term.cap = c("bright", 146s [1] "\033[1;2mA\033[0m" 146s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 146s Argument `x` contains a CSI SGR sequence with color codes not supported by terminal at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 146s 9/14 substr.R: substr_ctl("\033[38;2;1;1;1mA", 1, 1, term.cap = c("all", "truec 146s [1] "\033[38;2;1;1;1mA\033[0m" 146s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 146s Argument `x` contains a CSI SGR sequence with color codes not supported by terminal at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 146s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 146s Argument `x` contains a CSI SGR sequence with color codes not supported by terminal at index [1], see `?unhandled_ctl`; you can 9/14 substr.R: substr_ctl("\033[38;2;1;1;1mA", 1, 1, term.cap = c("all", "truec 146s [1] "\033[1;2mA\033[0m" 146s use `warn=FALSE` to turn off these warnings. 146s 9/14 substr.R: substr_ctl("\033[38;2;1;1;1mA", 1, 1, term.cap = c("truecolor")) 146s [1] "\033[38;2;1;1;1mA\033[0m" 146s 9/14 substr.R: substr_ctl("\033[38;2;1;1;1mA", 1, 1, term.cap = c("truecolor", 146s [1] "\033[38;2;1;1;1mA\033[0m" 146s 9/14 substr.R: substr_ctl("\033[107mA", 1, 1, term.cap = "256") 146s [1] "\033[107mA\033[0m" 146s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 146s Argument `x` contains a CSI SGR sequence with color codes not supported by terminal at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 146s 9/14 substr.R: substr_ctl("\033[107mA", 1, 1, term.cap = c("256", "old")) 146s [1] "A" 146s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 146s Argument `x` contains a CSI SGR sequence with color codes not supported by terminal at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 146s 9/14 substr.R: substr_ctl("\033[107mA", 1, 1, term.cap = c("all", "bright")) 146s [1] "\033[107mA\033[0m" 146s 9/14 substr.R: substr_ctl("\033[107mA", 1, 1, term.cap = c("all", "bright", 146s [1] "A" 146s 9/14 substr.R: substr_ctl("\033[107mA", 1, 1, term.cap = c("bright")) 146s [1] "\033[107mA\033[0m" 146s 9/14 substr.R: substr_ctl("\033[107mA", 1, 1, term.cap = c("bright", "old")) 146s [1] "\033[107mA\033[0m" 146s 9/14 substr.R: str.5 <- c("\033[48;2;100;100;100mAB", "\033[48;2;100;100;100mCD 146s 9/14 substr.R: substr_ctl(str.5, 2, 2, terminate = FALSE, carry = TRUE, term.ca 146s [1] "\033[48;2;100;100;100mB" "D" 146s 9/14 substr.R: str.5a <- c("\033[48;2;100;100;100mAB", "\033[48;2;100;100;101mC 146s 9/14 substr.R: substr_ctl(str.5a, 2, 2, terminate = FALSE, carry = TRUE, term.c 146s [1] "\033[48;2;100;100;100mB" "\033[48;2;100;100;101mD" 146s 9/14 substr.R: unitizer_sect("Obscure escapes", { 146s 9/14 substr.R: tryCatch(substr_ctl("\033[38;6;31mworld\033[m", 2, 3), warning = 146s [1] "Argument `x` contains a CSI SGR sequence with unknown substrings or a OSC hyperlink with unsupported parameters at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings." 146s 9/14 substr.R: suppressWarnings(substr_ctl("\033[38;6;31mworld\033[m", 2, 3)) 146s [1] "\033[6;31mor\033[0m" 146s 9/14 substr.R: tryCatch(substr_ctl("\033[31mhello\033[38;5;256m world\033[m", 146s [1] "Argument `x` contains a CSI SGR sequence or OSC hyperlink with invalid substrings at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings." 146s 9/14 substr.R: suppressWarnings(substr_ctl("\033[31mhello\033[38;5;256m world\0 146s [1] "\033[31mwo\033[0m" 146s 9/14 substr.R: substr_ctl("\033[20mworld\033[m", 2, 3) 146s [1] "\033[20mor\033[0m" 146s 9/14 substr.R: substr_ctl("\033[21mworld\033[m", 2, 3) 146s [1] "\033[21mor\033[0m" 146s 9/14 substr.R: substr_ctl(rep("\033[26mhello \033[50mworld\033[m", 2), c(2, 146s [1] "\033[26mel\033[0m" "orl" 146s 9/14 substr.R: substr_ctl(rep("\033[61mwor\033[65mld\033[m", 2), c(2, 4), c(3, 146s [1] "\033[61mor\033[0m" "ld" 147s 9/14 substr.R: tryCatch(substr_ctl("\033[56mworld\033[m", 2, 3), warning = cond 147s [1] "Argument `x` contains a CSI SGR sequence with unknown substrings or a OSC hyperlink with unsupported parameters at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings." 147s 9/14 substr.R: suppressWarnings(substr_ctl("\033[56mworld\033[m", 2, 3)) 147s [1] "or" 147s 9/14 substr.R: tryCatch(substr_ctl("\033[66mworld\033[m", 2, 3), warning = cond 147s [1] "Argument `x` contains a CSI SGR sequence with unknown substrings or a OSC hyperlink with unsupported parameters at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings." 147s 9/14 substr.R: tryCatch(substr_ctl("\033[200mworld\033[m", 2, 3), warning = con 147s [1] "Argument `x` contains a CSI SGR sequence with unknown substrings or a OSC hyperlink with unsupported parameters at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings." 147s 9/14 substr.R: substr_ctl(rep("\033[91mwor\033[101mld\033[m", 2), c(2, 4), c(3, 147s [1] "\033[91mor\033[0m" "\033[91;101mld\033[0m" 147s 9/14 substr.R: unitizer_sect("bad args", { 147s 9/14 substr.R: hello2.0 <- "\033[42m\thello world\033[m foobar" 147s Error in substr2_ctl(hello2.0, 1, 2, warn = NULL) : 147s Argument `warn` must be TRUE or FALSE. 147s Calls: unitize_dir ... eval -> withVisible -> substr2_ctl -> VAL_IN_ENV -> stop2 147s 9/14 substr.R: substr2_ctl(hello2.0, 1, 2, warn = NULL) 147s 9/14 substr.R: substr2_ctl(hello2.0, 1, 2, tabs.as.spaces = 1) 147s [1] "\033[42m \033[0m" 147s 9/14 substr.R: substr2_ctl(hello2.0, 1, 2, tabs.as.spaces = NA) 147s Error in substr2_ctl(hello2.0, 1, 2, tabs.as.spaces = NA) : 147s Argument `tabs.as.spaces` must be TRUE or FALSE. 147s Calls: unitize_dir ... eval -> withVisible -> substr2_ctl -> VAL_IN_ENV -> stop2 147s 9/14 substr.R: substr2_ctl(hello2.0, 1, 2, tab.stops = -(1:3)) 147s Error in substr2_ctl(hello2.0, 1, 2, tab.stops = -(1:3)) : 147s Argument `tab.stops` must be numeric, strictly positive, and representable as an integer. 147s Calls: unitize_dir ... eval -> withVisible -> substr2_ctl -> VAL_IN_ENV -> stop2 147s 9/14 substr.R: substr2_ctl(hello2.0, 1, 2, tab.stops = 0) 147s Error in substr2_ctl(hello2.0, 1, 2, tab.stops = 0) : 147s Argument `tab.stops` must be numeric, strictly positive, and representable as an integer. 147s Calls: unitize_dir ... eval -> withVisible -> substr2_ctl -> VAL_IN_ENV -> stop2 147s 9/14 substr.R: substr2_ctl(hello2.0, 1, 2, round = "bananas") 147s Error in substr2_ctl(hello2.0, 1, 2, round = "bananas") : 147s Argument `round` must partial match one of c("start", "stop", "both", "neither") 147s Calls: unitize_dir ... eval -> withVisible -> substr2_ctl -> VAL_IN_ENV -> stop2 147s 9/14 substr.R: substr2_ctl(hello2.0, 1, 2, term.cap = 0) 147s Error in substr2_ctl(hello2.0, 1, 2, term.cap = 0) : 147s Argument `term.cap` must be character. 147s Calls: unitize_dir ... eval -> withVisible -> substr2_ctl -> VAL_IN_ENV -> stop2 147s Error in substr2_ctl(hello2.0, 1, 2, term.cap = "bananas") : 147s Argument `term.cap` may only contain values in c("all", "bright", "256", "truecolor", "old") 147s Calls: unitize_dir ... eval -> withVisible -> substr2_ctl -> VAL_IN_ENV -> stop2 147s 9/14 substr.R: substr2_ctl(hello2.0, 1, 2, term.cap = "bananas") 147s 9/14 substr.R: substr2_ctl(hello2.0, 1, 2, type = "bananas") 147s Error in substr2_ctl(hello2.0, 1, 2, type = "bananas") : 147s Argument `type` must partial match one of c("chars", "width", "graphemes") 147s Calls: unitize_dir ... eval -> withVisible -> substr2_ctl -> VAL_IN_ENV -> stop2 147s Error in substr2_ctl(hello2.0, 1, 2, ctl = "bananas") : 147s Argument `ctl` may contain only values in `c("all", "nl", "c0", "sgr", "csi", "esc", "url", "osc")` 147s Calls: unitize_dir ... eval -> withVisible -> substr2_ctl -> VAL_IN_ENV -> stop2 147s 9/14 substr.R: substr2_ctl(hello2.0, 1, 2, ctl = "bananas") 147s Error in substr2_ctl(hello2.0, 1, 2, ctl = 0) : 147s Argument `ctl` must be character. 147s Calls: unitize_dir ... eval -> withVisible -> substr2_ctl -> VAL_IN_ENV -> stop2 147s 9/14 substr.R: substr2_ctl(hello2.0, 1, 2, ctl = 0) 147s 9/14 substr.R: unitizer_sect("`ctl` related issues", { 147s 9/14 substr.R: substr_sgr("\033[31;42mhello world", 2, 4) 147s [1] "\033[31;42mell\033[0m" 147s 9/14 substr.R: substr_sgr("\033[31m\033[42mhello world", 2, 4) 147s [1] "\033[31;42mell\033[0m" 147s 9/14 substr.R: tryCatch(substr_sgr("\033[31;42!mhello world", 2, 4), warning = 147s [1] "Argument `x` contains a non-SGR CSI or a non-URL OSC sequence at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings." 147s 9/14 substr.R: substr_sgr("\033[55;38l\033[31mhello world", 2, 4, warn = FALSE) 147s [1] "[55" 147s 9/14 substr.R: substr_sgr("\033[31m\033[55;38lhello world", 2, 4, warn = FALSE) 147s [1] "\033[31m[55\033[0m" 147s 9/14 substr.R: substr_sgr("hello \033[31m\033[55;38lworld", 7, 9, warn = FALSE) 147s [1] "\033[31m\033[5\033[0m" 147s 9/14 substr.R: substr_ctl("\033[55;38l\033[31mhello world", 2, 4, warn = FALSE) 147s [1] "\033[31mell\033[0m" 147s 9/14 substr.R: substr_ctl("\033[31m\033[55;38lhello world", 2, 4, warn = FALSE) 147s [1] "\033[31mell\033[0m" 147s 9/14 substr.R: substr_ctl("hello \033[31m\033[55;38lworld", 7, 9, warn = FALSE) 147s [1] "\033[31mwor\033[0m" 147s 9/14 substr.R: substr_ctl("hello\033[55;38l \033[31mworld", 4, 7, warn = FALSE) 147s [1] "lo\033[55;38l \033[31mw\033[0m" 147s 9/14 substr.R: substr_sgr("ab\n\tcd\n", 3, 6, warn = FALSE) 147s [1] "\n\tcd" 147s 9/14 substr.R: substr_sgr("ab\n\033[31m\tcd\n", 3, 6, warn = FALSE) 147s [1] "\n\033[31m\tcd\033[0m" 147s 9/14 substr.R: substr_ctl("ab\n\033[31m\tcd\n", 3, 6, warn = FALSE, ctl = c("al 147s [1] "\n\033[31m\tcd\n\033[0m" 147s 9/14 substr.R: substr_ctl("ab\n\033[31m\tcd\n", 3, 6, warn = FALSE, ctl = c("al 147s [1] "\n\033[31m\tcd\033[0m" 147s 9/14 substr.R: substr_sgr(c("\a", "b", "c"), 1, 1) 147s [1] "\a" "b" "c" 147s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 147s Argument `x` contains a C0 control character at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 147s 9/14 substr.R: substr_sgr(c("a", "\b", "c"), 1, 1) 147s [1] "a" "\b" "c" 147s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 147s Argument `x` contains a C0 control character at index [2], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 147s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 147s Argument `x` contains a C0 control character at index [3], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 147s 9/14 substr.R: substr_sgr(c("a", "b", "\ac"), 1, 1) 147s [1] "a" "b" "\a" 147s 9/14 substr.R: unitizer_sect("Rep Funs - Equivalence", { 147s 9/14 substr.R: txt0 <- "ABCD" 147s 9/14 substr.R: identical(`substr_ctl<-`(txt0, 2, 2, value = "#"), `substr<-`(tx 147s [1] TRUE 147s 9/14 substr.R: identical(`substr_ctl<-`(txt0, 2, 2, value = "#?"), `substr<-`(t 147s [1] TRUE 147s 9/14 substr.R: identical(`substr_ctl<-`(txt0, 2, 3, value = "#?-"), `substr<-`( 147s [1] TRUE 147s 9/14 substr.R: identical(`substr_ctl<-`(txt0, 0, 0, value = "#"), `substr<-`(tx 147s [1] TRUE 147s 9/14 substr.R: identical(`substr_ctl<-`(txt0, 2, 1, value = "#"), `substr<-`(tx 147s [1] TRUE 147s 9/14 substr.R: identical(`substr_ctl<-`(txt0, 10, 12, value = "#"), `substr<-`( 147s [1] TRUE 147s 9/14 substr.R: identical(`substr_ctl<-`(txt0, 2, 3, value = "#"), `substr<-`(tx 147s [1] TRUE 147s 9/14 substr.R: identical(`substr_ctl<-`(txt0, 1, 5, value = "#"), `substr<-`(tx 147s [1] TRUE 147s 9/14 substr.R: identical(`substr_ctl<-`(txt0, 0, 5, value = "#"), `substr<-`(tx 147s [1] TRUE 147s 9/14 substr.R: `substr_ctl<-`(txt0, 0, -1, value = "#") 147s [1] "ABCD" 147s 9/14 substr.R: rep1 <- c("_", "_.") 147s 9/14 substr.R: rep2 <- c("_", "_.", "...") 147s 9/14 substr.R: identical(`substr_ctl<-`(txt0, 2, 3, value = rep1), `substr<-`(t 147s [1] TRUE 147s 9/14 substr.R: identical(`substr_ctl<-`(txt0, 2, 3, value = rep2), `substr<-`(t 147s [1] TRUE 147s 9/14 substr.R: txt1 <- c("AB", "CDE") 147s 9/14 substr.R: identical(`substr_ctl<-`(txt1, 2, 3, value = "_"), `substr<-`(tx 147s [1] TRUE 147s 9/14 substr.R: identical(`substr_ctl<-`(txt1, 2, 3, value = rep1), `substr<-`(t 147s [1] TRUE 147s 9/14 substr.R: identical(`substr_ctl<-`(txt1, 2, 3, value = rep2), `substr<-`(t 147s [1] TRUE 147s 9/14 substr.R: txt2 <- c("AB", "CDE", "EFGH") 147s 9/14 substr.R: identical(`substr_ctl<-`(txt2, 2, 3, value = "_"), `substr<-`(tx 147s [1] TRUE 147s 9/14 substr.R: identical(`substr_ctl<-`(txt2, 2, 3, value = rep1), `substr<-`(t 147s [1] TRUE 147s 9/14 substr.R: identical(`substr_ctl<-`(txt2, 2, 3, value = rep2), `substr<-`(t 147s [1] TRUE 147s 9/14 substr.R: txt3a <- txt3b <- c("ABC", "ABC") 147s 9/14 substr.R: substr(txt3a[2], 2, 2) <- "_" 147s 9/14 substr.R: substr_ctl(txt3b[2], 2, 2) <- "_" 147s 9/14 substr.R: identical(txt3a, txt3b) 147s [1] TRUE 147s 9/14 substr.R: identical(`substr_ctl<-`(txt0, 2, 3, value = NA_character_), 147s [1] TRUE 147s 9/14 substr.R: txt.na <- NA_character_ 147s 9/14 substr.R: identical(`substr_ctl<-`(txt.na, 1, 2, value = "AB"), `substr<-` 147s [1] TRUE 147s 9/14 substr.R: unitizer_sect("Rep Funs - SGR", { 147s 9/14 substr.R: txt1 <- "\033[33mABCD" 147s 9/14 substr.R: txt2 <- "\033[33mA\033[44mBCD" 147s 9/14 substr.R: txt3 <- "\033[33mA\033[44mBC\033[1mD" 147s 9/14 substr.R: `substr_ctl<-`(txt1, 2, 2, value = "#") 147s [1] "\033[33mA\033[0m#\033[33mCD" 147s 9/14 substr.R: `substr_ctl<-`(txt1, 2, 3, value = "#?-") 147s [1] "\033[33mA\033[0m#?\033[33mD" 147s 9/14 substr.R: `substr_ctl<-`(txt1, 2, 3, value = "#\033[32m?-") 147s [1] "\033[33mA\033[0m#\033[32m?\033[0m\033[33mD" 147s 9/14 substr.R: `substr_ctl<-`(txt1, 2, 3, value = "#\033[32m?-\033[0m") 147s [1] "\033[33mA\033[0m#\033[32m?\033[0m\033[33mD" 147s 9/14 substr.R: `substr_ctl<-`(txt1, 2, 3, value = "#\033[0m?-") 147s [1] "\033[33mA\033[0m#\033[0m?\033[33mD" 147s 9/14 substr.R: `substr_ctl<-`(txt2, 2, 3, value = "#\033[32m?-") 147s [1] "\033[33mA\033[0m#\033[32m?\033[0m\033[33;44mD" 147s 9/14 substr.R: `substr_ctl<-`(txt2, 2, 3, value = "#\033[32m?-\033[0m") 147s [1] "\033[33mA\033[0m#\033[32m?\033[0m\033[33;44mD" 147s 9/14 substr.R: `substr_ctl<-`(txt2, 2, 3, value = "#\033[0m?-") 147s [1] "\033[33mA\033[0m#\033[0m?\033[33;44mD" 147s 9/14 substr.R: `substr_ctl<-`(txt3, 2, 3, value = "#\033[32m?-") 147s [1] "\033[33mA\033[0m#\033[32m?\033[0m\033[1;33;44mD" 147s 9/14 substr.R: `substr_ctl<-`(txt3, 2, 3, value = "#\033[32m?-\033[0m") 147s [1] "\033[33mA\033[0m#\033[32m?\033[0m\033[1;33;44mD" 147s 9/14 substr.R: `substr_ctl<-`(txt3, 2, 3, value = "#\033[0m?-") 147s [1] "\033[33mA\033[0m#\033[0m?\033[1;33;44mD" 147s 9/14 substr.R: `substr_ctl<-`(txt2, 2, 2, terminate = FALSE, value = "#") 147s [1] "\033[33mA#\033[44mCD" 147s 9/14 substr.R: `substr_ctl<-`(txt2, 2, 3, terminate = FALSE, value = "#\033[32m 147s [1] "\033[33mA#\033[32m?\033[44mD" 147s 9/14 substr.R: `substr_ctl<-`(txt2, 2, 3, terminate = FALSE, value = "#\033[32m 147s [1] "\033[33mA#\033[32m?\033[44mD" 147s 9/14 substr.R: `substr_ctl<-`(txt2, 2, 3, terminate = FALSE, value = "#\033[0m? 147s [1] "\033[33mA#\033[0m?\033[44mD" 147s 9/14 substr.R: `substr_ctl<-`(txt1, 2, 3, terminate = FALSE, value = "#\033[0m? 147s [1] "\033[33mA#\033[0m?D" 147s 9/14 substr.R: `substr_ctl<-`(txt1, 2, 3, terminate = FALSE, value = "#\033[0m\ 147s [1] "\033[33mA#\033[0m\033[45m?D" 147s 9/14 substr.R: txt4 <- c(txt2, txt0, "\033[39mABCD") 147s 9/14 substr.R: `substr_ctl<-`(txt4, 2, 3, value = "#") 147s [1] "\033[33mA\033[0m#\033[33;44mCD" "A#CD" 147s [3] "\033[39mA#CD" 147s 9/14 substr.R: `substr_ctl<-`(txt4, 2, 3, value = c("#", "?")) 147s [1] "\033[33mA\033[0m#\033[33;44mCD" "A?CD" 147s [3] "\033[39mA#CD" 147s 9/14 substr.R: `substr_ctl<-`(txt4, 2, 3, value = c("#", "?", "$")) 147s [1] "\033[33mA\033[0m#\033[33;44mCD" "A?CD" 147s [3] "\033[39mA$CD" 147s 9/14 substr.R: `substr_ctl<-`(txt4, 2, 2, carry = TRUE, value = "#") 147s [1] "\033[33mA\033[0m#\033[33;44mCD" "A\033[0m#\033[33;44mCD" 147s [3] "\033[39mA\033[0m#\033[44mCD" 147s 9/14 substr.R: `substr_ctl<-`(txt4, 2, 3, carry = TRUE, value = "#\033[32m?-") 147s [1] "\033[33mA\033[0m#\033[32m?\033[0m\033[33;44mD" 147s [2] "A\033[0m\033[32m#\033[32m?\033[0m\033[33;44mD" 147s [3] "\033[39mA\033[0m\033[32m#\033[32m?\033[0m\033[44mD" 147s 9/14 substr.R: `substr_ctl<-`(txt4, 2, 3, carry = TRUE, value = "#\033[42m?-\03 147s [1] "\033[33mA\033[0m#\033[42m?\033[0m\033[33;44mD" 147s [2] "A\033[0m#\033[42m?\033[0m\033[33;44mD" 147s [3] "\033[39mA\033[0m#\033[42m?\033[0m\033[44mD" 147s 9/14 substr.R: `substr_ctl<-`(txt4, 2, 3, carry = TRUE, value = "#\033[0m?-") 147s [1] "\033[33mA\033[0m#\033[0m?\033[33;44mD" 147s [2] "A\033[0m#\033[0m?\033[33;44mD" 147s [3] "\033[39mA\033[0m#\033[0m?\033[44mD" 147s 9/14 substr.R: rep4 <- c("\033[32m_\033[45m", ".-", "\033[39m__") 147s 9/14 substr.R: `substr_ctl<-`(txt4, 2, 3, carry = TRUE, value = rep4) 147s [1] "\033[33mA\033[0m\033[32m_\033[0m\033[33;44mCD" 147s [2] "A\033[0m\033[32;45m.-\033[0m\033[33;44mD" 147s [3] "\033[39mA\033[0m\033[45m__\033[0m\033[44mD" 147s 9/14 substr.R: `substr_ctl<-`(txt4, 2, 2, terminate = FALSE, carry = TRUE, valu 147s [1] "\033[33mA#\033[44mCD" "A#CD" "\033[39mA#CD" 147s 9/14 substr.R: `substr_ctl<-`(txt4, 2, 3, terminate = FALSE, carry = TRUE, valu 147s [1] "\033[33mA#\033[32m?\033[44mD" "A#\033[32m?D" 147s [3] "\033[39mA#\033[32m?D" 147s 9/14 substr.R: `substr_ctl<-`(txt4, 2, 3, terminate = FALSE, carry = TRUE, valu 147s [1] "\033[33mA#\033[35m?\033[44mD" "A\033[0m#\033[35m?D" 147s [3] "\033[39mA\033[0m#\033[35m?D" 147s 9/14 substr.R: `substr_ctl<-`(txt4, 2, 3, terminate = FALSE, carry = TRUE, valu 147s [1] "\033[33mA#\033[0m?\033[44mD" "A#\033[0m?D" 147s [3] "\033[39mA#\033[0m?D" 147s 9/14 substr.R: `substr_ctl<-`(txt4, 2, 3, terminate = FALSE, carry = TRUE, valu 147s [1] "\033[33mA\033[32m_\033[45m\033[44mCD" 147s [2] "A.-D" 147s [3] "\033[39mA\033[0;45m__D" 147s 9/14 substr.R: txt5 <- c("ABD", "DFG") 147s 9/14 substr.R: `substr_ctl<-`(txt5, 2, 2, value = ".\033[45m", carry = TRUE, 147s [1] "A.D" "D\033[45m.G" 147s 9/14 substr.R: txt6 <- "A123456789B" 147s 9/14 substr.R: `substr2_ctl<-`(txt6, 2, 9, value = "\t", tabs.as.spaces = TRUE) 147s [1] "A 9B" 147s 9/14 substr.R: `substr2_ctl<-`(txt6, 2, 3, value = "\t", tabs.as.spaces = TRUE) 147s [1] "A 3456789B" 147s 9/14 substr.R: `substr2_ctl<-`(txt6, 2, 10, value = "\t", tabs.as.spaces = TRUE 147s [1] "A 9B" 147s 9/14 substr.R: txt7a <- "os" 147s 9/14 substr.R: txt7b <- "sos" 147s 9/14 substr.R: txt7c <- "so" 147s 9/14 substr.R: val.scar <- "" 147s 9/14 substr.R: Encoding(`substr_ctl<-`(txt7a, 1, 1, value = val.scar)) 147s [1] "UTF-8" 147s 9/14 substr.R: Encoding(`substr_ctl<-`(txt7a, 1, 1, value = "s")) 147s [1] "unknown" 147s 9/14 substr.R: Encoding(`substr_ctl<-`(txt7a, 2, 2, value = val.scar)) 147s [1] "UTF-8" 147s 9/14 substr.R: Encoding(`substr_ctl<-`(txt7a, 2, 2, value = "s")) 147s [1] "UTF-8" 147s 9/14 substr.R: Encoding(`substr_ctl<-`(txt7b, 2, 2, value = val.scar)) 147s [1] "UTF-8" 147s 9/14 substr.R: Encoding(`substr_ctl<-`(txt7b, 2, 2, value = "s")) 147s [1] "unknown" 147s 9/14 substr.R: Encoding(`substr_ctl<-`(txt7c, 3, 3, value = val.scar)) 147s [1] "UTF-8" 147s 9/14 substr.R: Encoding(`substr_ctl<-`(txt7c, 3, 3, value = "s")) 147s [1] "unknown" 147s 9/14 substr.R: unitizer_sect("Rep Funs - Corner Cases", { 147s 9/14 substr.R: `substr_ctl<-`(txt2, 1, 3, terminate = FALSE, value = "#\033[32m 147s [1] "\033[33m#\033[32m?\033[0m\033[44mCD" 147s 9/14 substr.R: txt8 <- "\033[32mAB\033[45m" 147s 9/14 substr.R: `substr_ctl<-`(txt8, 1, 2, value = "12") 147s [1] "\033[32m\033[0m12\033[32m\033[45m" 147s 9/14 substr.R: `substr_ctl<-`(txt8, 1, 2, value = "12", terminate = FALSE) 147s [1] "\033[32m12\033[45m" 147s 9/14 substr.R: `substr_ctl<-`(txt8, 1, 3, value = "12") 147s [1] "\033[32m\033[0m12" 147s 9/14 substr.R: `substr_ctl<-`(txt8, 1, 3, value = "1") 147s [1] "\033[32m\033[0m1\033[32mB\033[45m" 147s 9/14 substr.R: `substr_ctl<-`(txt8, 1, 3, value = "") 147s [1] "\033[32mAB\033[45m" 147s 9/14 substr.R: `substr_ctl<-`(txt8, 1, 3, value = "123") 147s [1] "\033[32m\033[0m12" 147s 9/14 substr.R: `substr_ctl<-`(txt8, 0, 2, value = "12") 147s [1] "12\033[32m\033[45m" 147s 9/14 substr.R: `substr_ctl<-`(txt8, 0, 3, value = "12") 147s [1] "12" 147s 9/14 substr.R: `substr_ctl<-`(txt8, 1, 3, value = "\033[1m", terminate = FALSE) 147s [1] "\033[32m\033[1mAB\033[45m" 147s 9/14 substr.R: tce(`substr_ctl<-`(txt8, 1, 3, value = "A", carry = "\033[41m")) 147s [1] "Argument `carry` must be TRUE or FALSE in replacement mode." 147s 9/14 substr.R: lat <- "fa\347ile" 147s 9/14 substr.R: Encoding(lat) <- "latin1" 147s 9/14 substr.R: tce(`substr_ctl<-`(lat, 1, 3, value = "ABC")) 147s [1] "`x` may only contain ASCII or marked UTF-8 encoded strings; you can use `enc2utf8` to convert `x` prior to use with `substr_ctl<-` (replacement form). Illegal value at position [1]." 147s 9/14 substr.R: txt.na2 <- c("AB", NA, "BC") 147s 9/14 substr.R: `substr_ctl<-`(txt.na2, 1, 1, value = "#") 147s [1] "#B" NA "#C" 147s 9/14 substr.R: txt.nona <- c("AB", "BC", "CD") 147s 9/14 substr.R: `substr_ctl<-`(txt.nona, 1, 1, value = c("#", NA), carry = TRUE) 147s [1] "#B" NA NA 147s 147s 10/14 tabs.R: 147s 10/14 tabs.R: library(unitizer) 147s 10/14 tabs.R: library(fansi) 147s 10/14 tabs.R: unitizer_sect("simple tabs", { 147s 10/14 tabs.R: string <- "1\t12\t123\t1234\t12345678" 147s 10/14 tabs.R: tabs_as_spaces(string) 147s [1] "1 12 123 1234 12345678" 147s 10/14 tabs.R: tabs_as_spaces(string, c(2, 3, 4, 5, 8)) 147s [1] "1 12 123 1234 12345678" 147s 10/14 tabs.R: tabs_as_spaces(string, c(2, 8)) 147s [1] "1 12 123 1234 12345678" 147s 10/14 tabs.R: tabs_as_spaces(1:3) 147s [1] "1" "2" "3" 147s 10/14 tabs.R: unitizer_sect("newlines", { 147s 10/14 tabs.R: string.n <- paste0("1\t12\t123\t1234\t12345678\n", "1\t12\t123\t12 147s 10/14 tabs.R: tabs_as_spaces(string.n) 147s [1] "1 12 123 1234 12345678\n1 12 123 1234 12345678" 147s 10/14 tabs.R: tabs_as_spaces(string.n, c(2, 3, 4, 8)) 147s [1] "1 12 123 1234 12345678\n1 12 123 1234 12345678" 147s 10/14 tabs.R: tabs_as_spaces(string.n, c(2, 8)) 147s [1] "1 12 123 1234 12345678\n1 12 123 1234 12345678" 147s 10/14 tabs.R: unitizer_sect("corner cases", { 147s 10/14 tabs.R: tabs_as_spaces("") 147s [1] "" 147s 10/14 tabs.R: tabs_as_spaces("\t") 147s [1] " " 147s 10/14 tabs.R: tabs_as_spaces("\n") 147s [1] "\n" 147s 10/14 tabs.R: tabs_as_spaces(c(string, string, string)) 147s [1] "1 12 123 1234 12345678" 147s [2] "1 12 123 1234 12345678" 147s [3] "1 12 123 1234 12345678" 147s 10/14 tabs.R: tabs_as_spaces("\t\t") 147s [1] " " 147s 10/14 tabs.R: unitizer_sect("bad inputs", { 147s 10/14 tabs.R: tabs_as_spaces(string, warn = 1:3) 147s Error in tabs_as_spaces(string, warn = 1:3) : 147s Argument `warn` must be TRUE or FALSE. 147s Calls: unitize_dir ... withVisible -> tabs_as_spaces -> VAL_IN_ENV -> stop2 148s 10/14 tabs.R: tabs_as_spaces(string, tab.stops = "hello") 148s Error in tabs_as_spaces(string, tab.stops = "hello") : 148s Argument `tab.stops` must be numeric, strictly positive, and representable as an integer. 148s Calls: unitize_dir ... withVisible -> tabs_as_spaces -> VAL_IN_ENV -> stop2 148s Error in tabs_as_spaces(string, ctl = "hello") : 148s Argument `ctl` may contain only values in `c("all", "nl", "c0", "sgr", "csi", "esc", "url", "osc")` 148s Calls: unitize_dir ... withVisible -> tabs_as_spaces -> VAL_IN_ENV -> stop2 148s 10/14 tabs.R: tabs_as_spaces(string, ctl = "hello") 148s 10/14 tabs.R: tabs_as_spaces(string, ctl = 0) 148s Error in tabs_as_spaces(string, ctl = 0) : 148s Argument `ctl` must be character. 148s Calls: unitize_dir ... withVisible -> tabs_as_spaces -> VAL_IN_ENV -> stop2 148s 148s 11/14 tohtml.R: 148s 11/14 tohtml.R: library(unitizer) 148s 11/14 tohtml.R: library(fansi) 148s 11/14 tohtml.R: unitizer_sect("colors", { 148s 11/14 tohtml.R: style <- "width: 16px; height: 16px; display: inline-block;" 148s 11/14 tohtml.R: span <- "" 148s 11/14 tohtml.R: colors.8 <- fansi:::esc_color_code_to_html(rbind(c(0:7), 0L, 148s 11/14 tohtml.R: colors.8 148s [1] "#000000" "#BB0000" "#00BB00" "#BBBB00" "#0000BB" "#BB00BB" "#00BBBB" 148s [8] "#BBBBBB" 148s 11/14 tohtml.R: fansi:::esc_color_code_to_html(matrix(c(9L, 0L, 0L, 0L, 0L))) 148s Error in fansi:::esc_color_code_to_html(matrix(c(9L, 0L, 0L, 0L, 0L))) : 148s Internal Error: applying non-color. 148s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> 148s 11/14 tohtml.R: colors.255 <- fansi:::esc_color_code_to_html(rbind(8L, 5L, 0:255 148s 11/14 tohtml.R: colors.255 148s [1] "#000000" "#800000" "#008000" "#808000" "#000080" "#800080" "#008080" 148s [8] "#C0C0C0" "#808080" "#FF0000" "#00FF00" "#FFFF00" "#0000FF" "#FF00FF" 148s [15] "#00FFFF" "#FFFFFF" "#000000" "#00005F" "#000087" "#0000AF" "#0000D7" 148s [22] "#0000FF" "#005F00" "#005F5F" "#005F87" "#005FAF" "#005FD7" "#005FFF" 148s [29] "#008700" "#00875F" "#008787" "#0087AF" "#0087D7" "#0087FF" "#00AF00" 148s [36] "#00AF5F" "#00AF87" "#00AFAF" "#00AFD7" "#00AFFF" "#00D700" "#00D75F" 148s [43] "#00D787" "#00D7AF" "#00D7D7" "#00D7FF" "#00FF00" "#00FF5F" "#00FF87" 148s [50] "#00FFAF" "#00FFD7" "#00FFFF" "#5F0000" "#5F005F" "#5F0087" "#5F00AF" 148s [57] "#5F00D7" "#5F00FF" "#5F5F00" "#5F5F5F" "#5F5F87" "#5F5FAF" "#5F5FD7" 148s [64] "#5F5FFF" "#5F8700" "#5F875F" "#5F8787" "#5F87AF" "#5F87D7" "#5F87FF" 148s [71] "#5FAF00" "#5FAF5F" "#5FAF87" "#5FAFAF" "#5FAFD7" "#5FAFFF" "#5FD700" 148s [78] "#5FD75F" "#5FD787" "#5FD7AF" "#5FD7D7" "#5FD7FF" "#5FFF00" "#5FFF5F" 148s [85] "#5FFF87" "#5FFFAF" "#5FFFD7" "#5FFFFF" "#870000" "#87005F" "#870087" 148s [92] "#8700AF" "#8700D7" "#8700FF" "#875F00" "#875F5F" "#875F87" "#875FAF" 148s [99] "#875FD7" "#875FFF" "#878700" "#87875F" "#878787" "#8787AF" "#8787D7" 148s [106] "#8787FF" "#87AF00" "#87AF5F" "#87AF87" "#87AFAF" "#87AFD7" "#87AFFF" 148s [113] "#87D700" "#87D75F" "#87D787" "#87D7AF" "#87D7D7" "#87D7FF" "#87FF00" 148s [120] "#87FF5F" "#87FF87" "#87FFAF" "#87FFD7" "#87FFFF" "#AF0000" "#AF005F" 148s [127] "#AF0087" "#AF00AF" "#AF00D7" "#AF00FF" "#AF5F00" "#AF5F5F" "#AF5F87" 148s [134] "#AF5FAF" "#AF5FD7" "#AF5FFF" "#AF8700" "#AF875F" "#AF8787" "#AF87AF" 148s [141] "#AF87D7" "#AF87FF" "#AFAF00" "#AFAF5F" "#AFAF87" "#AFAFAF" "#AFAFD7" 148s [148] "#AFAFFF" "#AFD700" "#AFD75F" "#AFD787" "#AFD7AF" "#AFD7D7" "#AFD7FF" 148s [155] "#AFFF00" "#AFFF5F" "#AFFF87" "#AFFFAF" "#AFFFD7" "#AFFFFF" "#D70000" 148s [162] "#D7005F" "#D70087" "#D700AF" "#D700D7" "#D700FF" "#D75F00" "#D75F5F" 148s [169] "#D75F87" "#D75FAF" "#D75FD7" "#D75FFF" "#D78700" "#D7875F" "#D78787" 148s [176] "#D787AF" "#D787D7" "#D787FF" "#D7AF00" "#D7AF5F" "#D7AF87" "#D7AFAF" 148s [183] "#D7AFD7" "#D7AFFF" "#D7D700" "#D7D75F" "#D7D787" "#D7D7AF" "#D7D7D7" 148s [190] "#D7D7FF" "#D7FF00" "#D7FF5F" "#D7FF87" "#D7FFAF" "#D7FFD7" "#D7FFFF" 148s [197] "#FF0000" "#FF005F" "#FF0087" "#FF00AF" "#FF00D7" "#FF00FF" "#FF5F00" 148s [204] "#FF5F5F" "#FF5F87" "#FF5FAF" "#FF5FD7" "#FF5FFF" "#FF8700" "#FF875F" 148s [211] "#FF8787" "#FF87AF" "#FF87D7" "#FF87FF" "#FFAF00" "#FFAF5F" "#FFAF87" 148s [218] "#FFAFAF" "#FFAFD7" "#FFAFFF" "#FFD700" "#FFD75F" "#FFD787" "#FFD7AF" 148s [225] "#FFD7D7" "#FFD7FF" "#FFFF00" "#FFFF5F" "#FFFF87" "#FFFFAF" "#FFFFD7" 148s [232] "#FFFFFF" "#080808" "#121212" "#1C1C1C" "#262626" "#303030" "#3A3A3A" 148s [239] "#444444" "#4E4E4E" "#585858" "#626262" "#6C6C6C" "#767676" "#808080" 148s [246] "#8A8A8A" "#949494" "#9E9E9E" "#A8A8A8" "#B2B2B2" "#BCBCBC" "#C6C6C6" 148s [253] "#D0D0D0" "#DADADA" "#E4E4E4" "#EEEEEE" 148s 11/14 tohtml.R: vals <- c(0L, 127L, 255L) 148s 11/14 tohtml.R: colors.tru <- fansi:::esc_color_code_to_html(do.call(rbind, c(li 148s 11/14 tohtml.R: colors.tru 148s [1] "#000000" "#7F0000" "#FF0000" "#007F00" "#7F7F00" "#FF7F00" "#00FF00" 148s [8] "#7FFF00" "#FFFF00" "#00007F" "#7F007F" "#FF007F" "#007F7F" "#7F7F7F" 148s [15] "#FF7F7F" "#00FF7F" "#7FFF7F" "#FFFF7F" "#0000FF" "#7F00FF" "#FF00FF" 148s [22] "#007FFF" "#7F7FFF" "#FF7FFF" "#00FFFF" "#7FFFFF" "#FFFFFF" 148s 11/14 tohtml.R: unitizer_sect("simple html conversion", { 148s 11/14 tohtml.R: as_html_page <- function(x) { 148s 11/14 tohtml.R: sgr_to_html("hello \033[31;42;1mworld\033[0m") 148s [1] "hello world" 148s 11/14 tohtml.R: sgr_to_html("hello \033[31;48;5;23;1mworld\033[m") 148s [1] "hello world" 148s 11/14 tohtml.R: sgr_to_html("\033[1mbold\033[22m \033[2mfaint\033[22m \033[mital 148s [1] "bold faint italic\n" 148s 11/14 tohtml.R: csi_string <- c("\033[1mbold\033[22m \033[2mfaint\033[22m \033[3 148s 11/14 tohtml.R: html_string <- sgr_to_html(csi_string) 148s 11/14 tohtml.R: html_string 148s [1] "bold faint italic" 148s [2] "underline slow-blink" 148s [3] "fast-blink" 148s [4] "red-fg-green-bginverse inverse-off" 148s [5] "conceal reveal crossed-outclear" 148s [6] "bold faint italic" 148s [7] "underline slow-blink" 148s [8] "fast-blink" 148s [9] "red-fg-green-bginverse inverse-off" 148s [10] "conceal reveal crossed-outclear" 148s [11] "italic again not italic?" 148s 11/14 tohtml.R: unitizer_sect("Bright Colors", { 148s 11/14 tohtml.R: sgr_to_html("hello\033[94;101m world\033[39m yow\033[49mza") 148s [1] "hello world yowza" 148s 11/14 tohtml.R: sgr_to_html("hello\033[98;101m world\033[39m yow\033[49mza") 148s [1] "hello world yowza" 148s Warning in to_html_int(x = x, warn = warn, term.cap = term.cap, classes = classes, : 148s Argument `x` contains a CSI SGR sequence with unknown substrings or a OSC hyperlink with unsupported parameters at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 148s 11/14 tohtml.R: unitizer_sect("Corner cases", { 148s 11/14 tohtml.R: sgr_to_html("hello\033[0m") 148s [1] "hello" 148s 11/14 tohtml.R: sgr_to_html("hello\033[31m") 148s [1] "hello" 148s 11/14 tohtml.R: sgrs <- paste0(rep("\033[31m", 20), collapse = "") 148s 11/14 tohtml.R: sgr_to_html(sprintf("%shello world\033[m", sgrs)) 148s [1] "hello world" 148s 11/14 tohtml.R: sgr_to_html(1:3) 148s [1] "1" "2" "3" 148s 11/14 tohtml.R: sgr_to_html("\033[31mhello\033[m\033[42m world\033[m") 148s [1] "hello world" 148s 11/14 tohtml.R: sgr_to_html("\033[33mhello") 148s [1] "hello" 148s 11/14 tohtml.R: sgr_to_html("he\033[33mllo") 148s [1] "hello" 148s 11/14 tohtml.R: sgr_to_html("hello\033[33m") 148s [1] "hello" 148s 11/14 tohtml.R: sgr_to_html(c("\033[33mhello", "world")) 148s [1] "hello" 148s [2] "world" 148s 11/14 tohtml.R: sgr_to_html(c("\033[33mhello", "\033[44mworld")) 148s [1] "hello" 148s [2] "world" 148s 11/14 tohtml.R: sgr_to_html(c("\033[33mhello", "wor\033[44mld")) 148s [1] "hello" 148s [2] "world" 148s 11/14 tohtml.R: sgr_to_html(c("\033[33mhello", "world\033[44m")) 148s [1] "hello" 148s [2] "world" 148s 11/14 tohtml.R: sgr_to_html(c("he\033[33mllo", "world")) 148s [1] "hello" 148s [2] "world" 148s 11/14 tohtml.R: sgr_to_html(c("he\033[33mllo", "\033[44mworld")) 148s [1] "hello" 148s [2] "world" 148s 11/14 tohtml.R: sgr_to_html(c("he\033[33mllo", "wor\033[44mld")) 148s [1] "hello" 148s [2] "world" 148s 11/14 tohtml.R: sgr_to_html(c("he\033[33mllo", "world\033[44m")) 148s [1] "hello" 148s [2] "world" 148s 11/14 tohtml.R: sgr_to_html(c("hello\033[33m", "world")) 148s [1] "hello" 148s [2] "world" 148s 11/14 tohtml.R: sgr_to_html(c("hello\033[33m", "\033[44mworld")) 148s [1] "hello" 148s [2] "world" 148s 11/14 tohtml.R: sgr_to_html(c("hello\033[33m", "wor\033[44mld")) 148s [1] "hello" 148s [2] "world" 148s 11/14 tohtml.R: sgr_to_html(c("hello\033[33m", "world\033[44m")) 148s [1] "hello" 148s [2] "world" 148s 11/14 tohtml.R: unitizer_sect("Bad inputs", { 148s 11/14 tohtml.R: fansi:::esc_color_code_to_html(matrix(1:12, 4)) 148s Error in fansi:::esc_color_code_to_html(matrix(1:12, 4)) : 148s Argument `x` must be a five row integer matrix. 148s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> 148s 11/14 tohtml.R: sgr_to_html(1:3) 148s [1] "1" "2" "3" 148s Error in to_html_int(x = x, warn = warn, term.cap = term.cap, classes = classes, : 148s Argument `warn` must be TRUE or FALSE. 148s Calls: unitize_dir ... withVisible -> sgr_to_html -> to_html_int -> VAL_IN_ENV -> stop2 148s 11/14 tohtml.R: sgr_to_html("a", warn = 1:3) 148s 11/14 tohtml.R: sgr_to_html("a", term.cap = 1:3) 148s 11/14 tohtml.R: sgr_to_html("a", term.cap = "hello") 148s 11/14 tohtml.R: unitizer_sect("issue54", { 148s 11/14 tohtml.R: string <- c("\033[31m", "\033[39m") 148s Error in to_html_int(x = x, warn = warn, term.cap = term.cap, classes = classes, : 148s Argument `term.cap` must be character. 148s Calls: unitize_dir ... withVisible -> sgr_to_html -> to_html_int -> VAL_IN_ENV -> stop2 148s Error in to_html_int(x = x, warn = warn, term.cap = term.cap, classes = classes, : 148s Argument `term.cap` may only contain values in c("all", "bright", "256", "truecolor", "old") 148s Calls: unitize_dir ... withVisible -> sgr_to_html -> to_html_int -> VAL_IN_ENV -> stop2 148s 11/14 tohtml.R: fansi::sgr_to_html(string) 148s [1] "" "" 148s 11/14 tohtml.R: string1 <- c("\033[31mhello", "world\033[39m moon") 148s 11/14 tohtml.R: fansi::sgr_to_html(string1) 148s [1] "hello" 148s [2] "world moon" 148s 11/14 tohtml.R: string2 <- c("\033[3mhello\033[24m", "world\033[23m moon") 148s 11/14 tohtml.R: fansi::sgr_to_html(string2) 148s [1] "hello" 148s [2] "world moon" 148s 11/14 tohtml.R: unitizer_sect("Colors as classes (#65)", { 148s 11/14 tohtml.R: sgr_to_html("\033[94mhello\033[31;42;1mworld\033[m", classes = T 148s [1] "helloworld" 148s 11/14 tohtml.R: class.8 <- do.call(paste, c(expand.grid(c("fg", "bg"), 0:7), 148s 11/14 tohtml.R: class.16 <- do.call(paste, c(expand.grid(c("fg", "bg"), 0:15), 148s 11/14 tohtml.R: class.256 <- do.call(paste, c(expand.grid(c("fg", "bg"), 0:255), 148s 11/14 tohtml.R: x <- c("\033[94mhe\033[107mllo\033[31;42;1mworld\033[m", "\033[4 148s 11/14 tohtml.R: term.cap <- c("bright", "256", "truecolor") 148s 11/14 tohtml.R: sgr_to_html(x, classes = class.8, term.cap = term.cap) 148s [1] "helloworld" 148s [2] "goodbye super moon" 148s 11/14 tohtml.R: sgr_to_html(x, classes = class.16, term.cap = term.cap) 148s [1] "helloworld" 148s [2] "goodbye super moon" 148s 11/14 tohtml.R: sgr_to_html(x, classes = class.256, term.cap = term.cap) 148s [1] "helloworld" 148s [2] "goodbye super moon" 148s 11/14 tohtml.R: make_styles(class.8) 148s [1] ".fg-0 {color: #000000;}" ".bg-0 {background-color: #000000;}" 148s [3] ".fg-1 {color: #800000;}" ".bg-1 {background-color: #800000;}" 148s [5] ".fg-2 {color: #008000;}" ".bg-2 {background-color: #008000;}" 148s [7] ".fg-3 {color: #808000;}" ".bg-3 {background-color: #808000;}" 148s [9] ".fg-4 {color: #000080;}" ".bg-4 {background-color: #000080;}" 148s [11] ".fg-5 {color: #800080;}" ".bg-5 {background-color: #800080;}" 148s [13] ".fg-6 {color: #008080;}" ".bg-6 {background-color: #008080;}" 148s [15] ".fg-7 {color: #C0C0C0;}" ".bg-7 {background-color: #C0C0C0;}" 148s 11/14 tohtml.R: make_styles(class.8, matrix(c(0, 1, 0, 0, 0, 1, 1, 0, 0), 3)) 148s [1] ".fg-0 {color: #000000;}" ".bg-0 {background-color: #000000;}" 148s [3] ".fg-1 {color: #000080;}" ".bg-1 {background-color: #000080;}" 148s [5] ".fg-2 {color: #800000;}" ".bg-2 {background-color: #800000;}" 148s [7] ".fg-3 {color: #800080;}" ".bg-3 {background-color: #800080;}" 148s [9] ".fg-4 {color: #008000;}" ".bg-4 {background-color: #008000;}" 148s [11] ".fg-5 {color: #008080;}" ".bg-5 {background-color: #008080;}" 148s [13] ".fg-6 {color: #808000;}" ".bg-6 {background-color: #808000;}" 148s [15] ".fg-7 {color: #C0C0C0;}" ".bg-7 {background-color: #C0C0C0;}" 148s 11/14 tohtml.R: sgr_to_html(sgr_256()) 148s [1] "Standard" 148s [2] " 0 1 2 3 4 5 6 7" 148s [3] "" 148s [4] "High-Intensity" 148s [5] " 8 9 10 11 12 13 14 15" 148s [6] "" 148s [7] "216 Colors (Dark)" 148s [8] " 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33" 148s [9] " 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69" 148s [10] " 88 89 90 91 92 93 94 95 96 97 98 99100101102103104105" 148s [11] "124125126127128129130131132133134135136137138139140141" 148s [12] "160161162163164165166167168169170171172173174175176177" 148s [13] "196197198199200201202203204205206207208209210211212213" 148s [14] "" 148s [15] "216 Colors (Light)" 148s [16] " 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51" 148s [17] " 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87" 148s [18] "106107108109110111112113114115116117118119120121122123" 148s [19] "142143144145146147148149150151152153154155156157158159" 148s [20] "178179180181182183184185186187188189190191192193194195" 148s [21] "214215216217218219220221222223224225226227228229230231" 148s [22] "" 148s [23] "Grayscale" 148s [24] "232 233 234 235 236 237 238 239 240 241 242 243" 148s [25] "244 245 246 247 248 249 250 251 252 253 254 255" 148s 11/14 tohtml.R: sgr_to_html(sgr_256(), classes = class.256) 148s [1] "Standard" 148s [2] " 0 1 2 3 4 5 6 7" 148s [3] "" 148s [4] "High-Intensity" 148s [5] " 8 9 10 11 12 13 14 15" 148s [6] "" 148s [7] "216 Colors (Dark)" 148s [8] " 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33" 148s [9] " 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69" 148s [10] " 88 89 90 91 92 93 94 95 96 97 98 99100101102103104105" 148s [11] "124125126127128129130131132133134135136137138139140141" 148s [12] "160161162163164165166167168169170171172173174175176177" 148s [13] "196197198199200201202203204205206207208209210211212213" 148s [14] "" 148s [15] "216 Colors (Light)" 148s [16] " 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51" 148s [17] " 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87" 148s [18] "106107108109110111112113114115116117118119120121122123" 148s [19]Error in to_html_int(x = x, warn = warn, term.cap = term.cap, classes = classes, : 148s Argument `classes` must be TRUE, FALSE, or a character vector. 148s Calls: unitize_dir ... eval -> eval -> withVisible -> sgr_to_html -> to_html_int 148s Error in check_classes(classes) : 148s Argument `classes` must be length 16, 32, or 512 if it is a character vector (is 7). 148s Calls: unitize_dir ... withVisible -> sgr_to_html -> to_html_int -> check_classes 148s Error in check_classes(classes) : Argument `classes` contains NA values. 148s Calls: unitize_dir ... withVisible -> sgr_to_html -> to_html_int -> check_classes 148s Error in check_classes(classes) : 148s Argument `classes` contains charcters other than ASCII letters, numbers, the hyphen, and underscore. 148s Calls: unitize_dir ... withVisible -> sgr_to_html -> to_html_int -> check_classes 148s Error in make_styles(class.8, c(1, 1, 0, 0, 0, 1, 1, 0, 0)) : 148s Argument `rgb.mix` must be a 3 x 3 numeric matrix with no NAs. 148s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> make_styles 148s "142143144145146147148149150151152153154155156157158159" 148s [20] "178179180181182183184185186187188189190191192193194195" 148s [21] "214215216217218219220221222223224225226227228229230231" 148s [22] "" 148s [23] "Grayscale" 148s [24] "232 233 234 235 236 237 238 239 240 241 242 243" 148s [25] "244 245 246 247 248 249 250 251 252 253 254 255" 148s 11/14 tohtml.R: sgr_to_html("\033[31mhello\033[31m", classes = NULL) 148s 11/14 tohtml.R: sgr_to_html("\033[31mhello\033[31m", classes = character(7L)) 148s 11/14 tohtml.R: sgr_to_html("\033[31mhello\033[31m", classes = rep(NA_character_ 148s 11/14 tohtml.R: sgr_to_html("\033[31mhello\033[31m", classes = rep("bad class", 148s 11/14 tohtml.R: make_styles(class.8, c(1, 1, 0, 0, 0, 1, 1, 0, 0)) 148s 11/14 tohtml.R: make_styles(class.8, matrix(c(0, 1, 0, 0, 0, 1, 1, 0, NA), 3)) 148s 11/14 tohtml.R: make_styles(class.8, "hello") 148s Error in make_styles(class.8, matrix(c(0, 1, 0, 0, 0, 1, 1, 0, NA), 3)) : 148s Argument `rgb.mix` must be a 3 x 3 numeric matrix with no NAs. 148s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> make_styles 148s Error in make_styles(class.8, "hello") : 148s Argument `rgb.mix` must be a 3 x 3 numeric matrix with no NAs. 148s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> make_styles 148s 11/14 tohtml.R: make_styles(letters, matrix(c(0, 1, 0, 0, 0, 1, 1, 0, 0), 3)) 148s 11/14 tohtml.R: make_styles(NULL) 148s Error in check_classes(classes) : 148s Argument `classes` must be length 16, 32, or 512 if it is a character vector (is 26). 148s Calls: unitize_dir ... eval -> withVisible -> make_styles -> check_classes 148s Error in make_styles(NULL) : Argument `classes` is not character. 148s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> make_styles 148s Warning in to_html_int(x = x, warn = warn, term.cap = term.cap, classes = classes, : 148s `x` contains unescaped HTML special character '<' at index [1] (see ?html_esc); you can use `warn=FALSE` to turn off these warnings. 148s 11/14 tohtml.R: unitizer_sect("chars to escape", { 148s 11/14 tohtml.R: str.esc <- c("A\033[45mB", "A\033[43m&B") 148s 11/14 tohtml.R: to_html(str.esc) 148s [1] "A" 148s [2] "A>B" 148s [3] "A&B" 148s 11/14 tohtml.R: sgr_to_html(str.esc) 148s [1] "A" 148s [2] "A>B" 148s [3] "A&B" 148s 11/14 tohtml.R: to_html(str.esc, warn = FALSE) 148s [1] "A" 148s [2] "A>B" 148s [3] "A&B" 148s Warning in to_html_int(x = x, warn = warn, term.cap = term.cap, classes = classes, : 148s `x` contains unescaped HTML special character '>' at index [2] (see ?html_esc); you can use `warn=FALSE` to turn off these warnings. 148s 11/14 tohtml.R: to_html(html_esc(str.esc)) 148s [1] "A<B" 148s [2] "A>B" 148s [3] "A&B" 148s 11/14 tohtml.R: str.esc2 <- c("A\033[45mB", "A\033[201mB") 148s 11/14 tohtml.R: to_html(str.esc2) 148s Warning in to_html_int(x = x, warn = warn, term.cap = term.cap, classes = classes, : 148s `x` contains unescaped HTML special character '<' at index [1] (see ?html_esc); you can use `warn=FALSE` to turn off these warnings. 148s Warning in to_html_int(x = x, warn = warn, term.cap = term.cap, classes = classes, : 148s Argument `x` contains a CSI SGR sequence with unknown substrings or a OSC hyperlink with unsupported parameters at index [2], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 148s Warning in to_html_int(x = x, warn = warn, term.cap = term.cap, classes = classes, : 148s `x` contains unescaped HTML special character '>' at index [2] (see ?html_esc); you can use `warn=FALSE` to turn off these warnings. 148s Warning in to_html_int(x = x, warn = warn, term.cap = term.cap, classes = classes, : 148s Argument `x` contains a CSI SGR sequence with unknown substrings or a OSC hyperlink with unsupported parameters at index [3], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 148s [1] "A" 148s [2] "A>B" 148s [3] "AB" 148s 11/14 tohtml.R: to_html(str.esc2, warn = FALSE) 148s [1] "A" 148s [2] "A>B" 148s [3] "AB" 148s 11/14 tohtml.R: unitizer_sect("helpers", { 148s 11/14 tohtml.R: html <- sgr_to_html("\033[42mHello") 148s 11/14 tohtml.R: f <- in_html(html, css = "span {background-color: #CCC;}", displ 148s 11/14 tohtml.R: readLines(f) 148s [1] "" 148s [2] "" 148s [3] "" 148s [6] "" 148s [7] "
"                                                
148s  [8] "Hello"
148s  [9] "
" 148s [10] "" 148s [11] "" 148s 11/14 tohtml.R: unlink(f) 148s 11/14 tohtml.R: in_html(html, css = "span {background-color: #CCC;}", display = 149s 11/14 tohtml.R: unitizer_sect("carry", { 149s 11/14 tohtml.R: string.2 <- c("A\033[44m", "B\033[49m", "C", "\033[39mD") 149s 11/14 tohtml.R: to_html(string.2) 149s [1] "A" 149s [2] "B" 149s [3] "C" 149s [4] "D" 149s 11/14 tohtml.R: to_html(string.2, carry = FALSE) 149s [1] "A" "B" "C" "D" 149s 11/14 tohtml.R: to_html(string.2, carry = "\033[33m") 149s [1] "A" 149s [2] "B" 149s [3] "C" 149s [4] "D" 149s 11/14 tohtml.R: to_html(string.2, carry = "\033[33m\033]8;;https://w.z\033\\") 149s [1] "A" 149s [2] "B" 149s [3] "C" 149s [4] "D" 149s 11/14 tohtml.R: string.3 <- c("A\033[44m", "\033[31mC", NA, "\033[39mD") 149s 11/14 tohtml.R: to_html(string.3) 149s [1] "A" 149s [2] "C" 149s [3] NA 149s [4] NA 149s 11/14 tohtml.R: to_html(string.3, carry = FALSE) 149s [1] "A" 149s [2] "C" 149s [3] NA 149s [4] "D" 149s 149s 12/14 trimws.R: 149s 12/14 trimws.R: library(fansi) 149s 12/14 trimws.R: unitizer_sect("Equivalence", { 149s 12/14 trimws.R: txt1 <- c("", "hello", " \t \n\r he\nl\tl\r o \r\t\n", "he\nl\tl 149s 12/14 trimws.R: identical(trimws(txt1), trimws_ctl(txt1)) 149s [1] TRUE 149s 12/14 trimws.R: identical(trimws(txt1, which = "left"), trimws_ctl(txt1, which = 149s [1] TRUE 149s 12/14 trimws.R: identical(trimws(txt1, which = "right"), trimws_ctl(txt1, which 149s [1] TRUE 149s 12/14 trimws.R: unitizer_sect("Controls", { 149s 12/14 trimws.R: txt2 <- c("\033[31m he\033[42;1m llo \033[49m\n\t ", " \033]8;;h 149s 12/14 trimws.R: trimws_ctl(txt2) 149s [1] "\033[31mhe\033[42;1m llo\033[0;1;31m" 149s [2] "\033]8;;https://x.yz\033\\LINK\033[45m hello\033[31m\033]8;;\033\\" 149s 12/14 trimws.R: trimws_ctl(txt2, which = "left") 149s [1] "\033[31mhe\033[42;1m llo \033[49m\n\t " 149s [2] "\033]8;;https://x.yz\033\\LINK\033[45m hello \033]8;;\033\\ \033[31m" 149s 12/14 trimws.R: trimws_ctl(txt2, which = "right") 149s [1] "\033[31m he\033[42;1m llo\033[0;1;31m" 149s [2] " \033]8;;https://x.yz\033\\\tLINK\033[45m hello\033[31m\033]8;;\033\\" 149s 12/14 trimws.R: trimws_ctl(txt2, ctl = c("all", "url", "osc")) 149s [1] "\033[31mhe\033[42;1m llo\033[0;1;31m" 149s [2] "8;;https://x.yz\033\\\tLINK\033[45m hello \033]8;;\033\\\033[31m" 149s Warning in trimws_ctl(txt2, ctl = c("all", "url", "osc")) : 149s Argument `x` contains a non-CSI/OSC escape sequence at index [2], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 149s 12/14 trimws.R: trimws_ctl(txt2, ctl = c("all", "sgr", "csi")) 149s Warning in trimws_ctl(txt2, ctl = c("all", "sgr", "csi")) : 149s Argument `x` contains a non-CSI/OSC escape sequence at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 149s Warning in trimws_ctl(txt2, ctl = c("all", "sgr", "csi")) : 149s Argument `x` contains a non-CSI/OSC escape sequence at index [2], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 149s [1] "31m he\033[42;1m llo \033[49m" 149s [2] "\033]8;;https://x.yz\033\\LINK\033[45m hello \033]8;;\033\\ \033[31m" 149s Warning in trimws_ctl(" \r\a A \a\t ", ctl = c("all", "c0")) : 149s Argument `x` contains a C0 control character at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 149s 12/14 trimws.R: trimws_ctl(" \r\a A \a\t ", ctl = c("all", "c0")) 149s [1] "\a A \a" 149s 12/14 trimws.R: unitizer_sect("Errors / Corner caess", { 149s 12/14 trimws.R: trimws_ctl(character()) 149s character(0) 149s 12/14 trimws.R: trimws_ctl("hello", which = "top") 149s Error in trimws_ctl("hello", which = "top") : 149s Argument `which` must partial match one of c("both", "left", "right"). 149s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> trimws_ctl 149s Error in trimws_ctl("hello", whitespace = " ") : 149s Argument `whitespace` may only be set to "[ \t\r\n]". 149s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> trimws_ctl 149s 12/14 trimws.R: trimws_ctl("hello", whitespace = " ") 149s 149s 13/14 url.R: 149s 13/14 url.R: library(fansi) 149s 13/14 url.R: unitizer_sect("wrap", { 149s 13/14 url.R: txt <- "This is a link" 149s 13/14 url.R: base.st <- "%s\033]8;%s;%s\033\\%s\033]8;;\033\\%s" 149s 13/14 url.R: base.a <- "%s\033]8;%s;%s\a%s\033]8;;\a%s" 149s 13/14 url.R: url <- "https://x.yz" 149s 13/14 url.R: u0 <- sprintf(base.st, "", "", url, txt, "") 149s 13/14 url.R: u1 <- sprintf(base.a, "", "", url, txt, "") 149s 13/14 url.R: strtrim_ctl(u0, 5) 149s [1] "\033]8;;https://x.yz\033\\This \033]8;;\033\\" 149s 13/14 url.R: strwrap_ctl(u0, 5) 149s [1] "\033]8;;https://x.yz\033\\This\033]8;;\033\\" 149s [2] "\033]8;;https://x.yz\033\\is a\033]8;;\033\\" 149s [3] "\033]8;;https://x.yz\033\\link\033]8;;\033\\" 149s 13/14 url.R: strwrap_ctl(u0, 8) 149s [1] "\033]8;;https://x.yz\033\\This is\033]8;;\033\\" 149s [2] "\033]8;;https://x.yz\033\\a link\033]8;;\033\\" 149s 13/14 url.R: strwrap_ctl(u1, 5) 149s [1] "\033]8;;https://x.yz\033\\This\033]8;;\033\\" 149s [2] "\033]8;;https://x.yz\033\\is a\033]8;;\033\\" 149s [3] "\033]8;;https://x.yz\033\\link\033]8;;\033\\" 149s 13/14 url.R: u2 <- sprintf(base.st, "", "id=one", url, txt, "") 149s 13/14 url.R: u2a <- sprintf(base.st, "", "id=", url, txt, "") 149s 13/14 url.R: u2b <- sprintf(base.st, "", "id", url, txt, "") 149s 13/14 url.R: u3 <- sprintf(base.st, "", "title=ab:id=one", url, txt, "") 149s 13/14 url.R: u4 <- sprintf(base.st, "", "id=one:title=ba", url, txt, "") 149s 13/14 url.R: u6 <- sprintf(base.st, "", "id=one~title=ba", url, txt, "") 149s 13/14 url.R: strwrap_ctl(u2, 5) 149s [1] "\033]8;id=one;https://x.yz\033\\This\033]8;;\033\\" 149s [2] "\033]8;id=one;https://x.yz\033\\is a\033]8;;\033\\" 149s [3] "\033]8;id=one;https://x.yz\033\\link\033]8;;\033\\" 149s 13/14 url.R: strwrap_ctl(u3, 5) 149s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 149s Argument `x` contains a CSI SGR sequence with unknown substrings or a OSC hyperlink with unsupported parameters at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 149s [1] "\033]8;id=one;https://x.yz\033\\This\033]8;;\033\\" 149s [2] "\033]8;id=one;https://x.yz\033\\is a\033]8;;\033\\" 149s [3] "\033]8;id=one;https://x.yz\033\\link\033]8;;\033\\" 149s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 149s Argument `x` contains a CSI SGR sequence with unknown substrings or a OSC hyperlink with unsupported parameters at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 149s 13/14 url.R: strwrap_ctl(u4, 5) 149s [1] "\033]8;id=one;https://x.yz\033\\This\033]8;;\033\\" 149s [2] "\033]8;id=one;https://x.yz\033\\is a\033]8;;\033\\" 149s [3] "\033]8;id=one;https://x.yz\033\\link\033]8;;\033\\" 149s 13/14 url.R: strwrap_ctl(u6, 5) 149s [1] "\033]8;id=one~title=ba;https://x.yz\033\\This\033]8;;\033\\" 149s [2] "\033]8;id=one~title=ba;https://x.yz\033\\is a\033]8;;\033\\" 149s [3] "\033]8;id=one~title=ba;https://x.yz\033\\link\033]8;;\033\\" 149s 13/14 url.R: u7 <- sprintf(base.st, "AB", "id=one", url, txt, "CD") 149s 13/14 url.R: strwrap_ctl(u7, 8) 149s [1] "AB\033]8;id=one;https://x.yz\033\\This\033]8;;\033\\" 149s [2] "\033]8;id=one;https://x.yz\033\\is a\033]8;;\033\\" 149s [3] "\033]8;id=one;https://x.yz\033\\link\033]8;;\033\\CD" 149s 13/14 url.R: txt2 <- "This\033[34m is a link\033[49m" 149s 13/14 url.R: u8 <- sprintf(base.st, "A\033[43mB", "", url, txt2, "CD") 149s 13/14 url.R: strwrap_ctl(u8, 7) 149s [1] "A\033[43mB\033]8;;https://x.yz\033\\This\033[0m\033]8;;\033\\" 149s [2] "\033[34;43m\033]8;;https://x.yz\033\\is a\033[0m\033]8;;\033\\" 149s [3] "\033[34;43m\033]8;;https://x.yz\033\\link\033[49m\033]8;;\033\\CD\033[0m" 149s 13/14 url.R: url2 <- ";wow;https://x.yz" 149s 13/14 url.R: u9 <- sprintf(base.st, "", "", url2, txt, "") 149s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 149s Argument `x` contains a CSI SGR sequence with unknown substrings or a OSC hyperlink with unsupported parameters at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 149s 13/14 url.R: strwrap_ctl(u9, 5) 149s [1] "\033]8;;wow;https://x.yz\033\\This\033]8;;\033\\" 149s [2] "\033]8;;wow;https://x.yz\033\\is a\033]8;;\033\\" 149s [3] "\033]8;;wow;https://x.yz\033\\link\033]8;;\033\\" 149s 13/14 url.R: u10 <- sprintf(base.st, "", "\a", url, txt, "") 149s 13/14 url.R: u11 <- sprintf(base.st, "", "\016", url, txt, "") 149s 13/14 url.R: Encoding(u10) <- "UTF-8" 149s 13/14 url.R: Encoding(u11) <- "UTF-8" 149s 13/14 url.R: u11a <- sprintf(base.st, "", "hello", url, txt, "") 149s 13/14 url.R: strwrap_ctl(u10, 5) 149s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 149s Argument `x` contains a non-CSI/OSC escape sequence at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 149s [1] ";https://x.yz\033\\This" "is a" 149s [3] "link" 149s 13/14 url.R: strwrap_ctl(u11, 5) 149s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 149s Argument `x` contains a CSI SGR sequence or OSC hyperlink with invalid substrings at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 149s [1] "\033]8;;https://x.yz\033\\This\033]8;;\033\\" 149s [2] "\033]8;;https://x.yz\033\\is a\033]8;;\033\\" 149s [3] "\033]8;;https://x.yz\033\\link\033]8;;\033\\" 149s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 149s Argument `x` contains a CSI SGR sequence with unknown substrings or a OSC hyperlink with unsupported parameters at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 149s 13/14 url.R: strwrap_ctl(u11a, 5) 149s [1] "\033]8;;https://x.yz\033\\This\033]8;;\033\\" 149s [2] "\033]8;;https://x.yz\033\\is a\033]8;;\033\\" 149s [3] "\033]8;;https://x.yz\033\\link\033]8;;\033\\" 149s 13/14 url.R: nchar_ctl(c(u10, u11, u11a)) 149s [1] 27 14 14 149s 13/14 url.R: u12 <- sprintf(base.st, "", "", "\b", txt, "") 149s 13/14 url.R: u12a <- sprintf(base.st, "", "", "\200", txt, "") 149s 13/14 url.R: Encoding(u12) <- "UTF-8" 149s 13/14 url.R: Encoding(u12a) <- "UTF-8" 150s 13/14 url.R: strwrap_ctl(u12, 5) 150s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 150s Argument `x` contains a CSI SGR sequence or OSC hyperlink with invalid substrings at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 150s [1] "This" "is a" "link" 150s Error in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 150s Argument `x` contains an illegal non-ASCII byte at index [1], see `?unhandled_ctl`. 150s Calls: unitize_dir ... eval -> eval -> withVisible -> strwrap_ctl -> strwrap2_ctl 150s 13/14 url.R: strwrap_ctl(u12a, 5) 150s 13/14 url.R: nchar_ctl(c(u12, u12a)) 150s [1] 14 14 150s 13/14 url.R: nchar_ctl(c(u12, u12a), allowNA = TRUE) 150s [1] 14 14 150s 13/14 url.R: u13 <- "a\033]8;;THE END" 150s 13/14 url.R: u13a <- "a\033];;THE END" 150s 13/14 url.R: u14 <- "a\033]8;;THE END\033]8;;NO?" 150s 13/14 url.R: u15 <- "a\033]8;;THE END\033]8;;\033[" 150s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 150s Argument `x` contains a malformed CSI or OSC sequence at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 150s 13/14 url.R: strwrap_ctl(u13, 5) 150s [1] "a" 150s 13/14 url.R: strwrap_ctl(u13, 5, terminate = FALSE) 150s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 150s Argument `x` contains a malformed CSI or OSC sequence at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 150s [1] "a\033]8;;THE END" 150s 13/14 url.R: strwrap_ctl(u13a, 5) 150s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 150s Argument `x` contains a malformed CSI or OSC sequence at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 150s [1] "a\033];;THE END" 150s 13/14 url.R: strwrap_ctl(u14, 5) 150s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 150s Argument `x` contains a malformed CSI or OSC sequence at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 150s [1] "a" 150s 13/14 url.R: strwrap_ctl(u15, 5) 150s [1] "a" 150s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 150s Argument `x` contains a malformed CSI or OSC sequence at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 150s 13/14 url.R: nchar_ctl(c(u13, u13a, u14, u15)) 150s Warning in nchar_ctl_internal(x = x, type.int = TYPE.INT, allowNA = allowNA, : 150s Argument `x` contains a malformed CSI or OSC sequence at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 150s Warning in nchar_ctl_internal(x = x, type.int = TYPE.INT, allowNA = allowNA, : 150s Argument `x` contains a malformed CSI or OSC sequence at index [2], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 150s Warning in nchar_ctl_internal(x = x, type.int = TYPE.INT, allowNA = allowNA, : 150s Argument `x` contains a malformed CSI or OSC sequence at index [3], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 150s Warning in nchar_ctl_internal(x = x, type.int = TYPE.INT, allowNA = allowNA, : 150s Argument `x` contains a malformed CSI or OSC sequence at index [4], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 150s [1] 1 1 1 1 150s 13/14 url.R: u16 <- sprintf(base.st, "", "", "", txt, "") 150s 13/14 url.R: u17 <- sprintf(base.st, "", "", "", "", "") 150s 13/14 url.R: strwrap_ctl(u16, 5) 150s [1] "This" "is a" "link" 150s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 150s Argument `x` contains a CSI SGR sequence or OSC hyperlink with invalid substrings at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 150s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 150s Argument `x` contains a CSI SGR sequence or OSC hyperlink with invalid substrings at index [2], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 150s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 150s Argument `x` contains a CSI SGR sequence or OSC hyperlink with invalid substrings at index [3], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 150s Error in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 150s Argument `x` contains an illegal non-ASCII byte at index [1], see `?unhandled_ctl`. 150s Calls: unitize_dir ... withVisible -> substr_ctl -> substr2_ctl -> substr_ctl_internal 150s 13/14 url.R: strwrap_ctl(u17, 5) 150s [1] "" 150s 13/14 url.R: strwrap_ctl(u0, 5, terminate = FALSE) 150s [1] "\033]8;;https://x.yz\033\\This" 150s [2] "\033]8;;https://x.yz\033\\is a" 150s [3] "\033]8;;https://x.yz\033\\link\033]8;;\033\\" 150s 13/14 url.R: open <- "\033]8;;ab.c\033\\" 150s 13/14 url.R: u21 <- c("he\033[44mllo \033]8;;de.f\033\\world", "night moon") 150s 13/14 url.R: strwrap_ctl(u21, 5, carry = "\033[33m") 150s [1] "\033[33mhe\033[44mllo\033[0m" 150s [2] "\033[33;44m\033]8;;de.f\033\\world\033[0m\033]8;;\033\\" 150s [3] "\033[33;44m\033]8;;de.f\033\\night\033[0m\033]8;;\033\\" 150s [4] "\033[33;44m\033]8;;de.f\033\\moon\033[0m\033]8;;\033\\" 150s 13/14 url.R: strwrap_ctl(u21, 5, carry = paste0(open, "\033[33m")) 150s [1] "\033[33m\033]8;;ab.c\033\\he\033[44mllo\033[0m\033]8;;\033\\" 150s [2] "\033[33;44m\033]8;;de.f\033\\world\033[0m\033]8;;\033\\" 150s [3] "\033[33;44m\033]8;;de.f\033\\night\033[0m\033]8;;\033\\" 150s [4] "\033[33;44m\033]8;;de.f\033\\moon\033[0m\033]8;;\033\\" 150s 13/14 url.R: unitizer_sect("normalize", { 150s 13/14 url.R: u18 <- "A\033]8;id=a;x.yz\033\\B\033]8;id=a;x.yz\033\\C\033]8;;\033 150s 13/14 url.R: normalize_state(u18) 150s [1] "A\033]8;id=a;x.yz\033\\BC\033]8;;\033\\D" 150s 13/14 url.R: u18a <- "A\033]8;id=a;x.yz\033\\B\033]8;;\033\\\033]8;id=a;x.yz\033 150s 13/14 url.R: normalize_state(u18a) 150s [1] "A\033]8;id=a;x.yz\033\\BC\033]8;;\033\\D" 150s 13/14 url.R: u18b <- "A\033]8;id=a;x.yz\033\\\033]8;id=b;x.yz\033\\C\033]8;;\033 150s 13/14 url.R: normalize_state(u18b) 150s [1] "A\033]8;id=b;x.yz\033\\C\033]8;;\033\\D" 150s 13/14 url.R: u19 <- "A\033]8;id=a;x.yz\033\\B\033]8;id=b;x.yz\033\\C\033]8;;\033 150s 13/14 url.R: u20 <- "A\033]8;id=a;x.yz\033\\B\033]8;id=a;w.yz\033\\C\033]8;;\033 150s 13/14 url.R: normalize_state(u19) 150s [1] "A\033]8;id=a;x.yz\033\\B\033]8;id=b;x.yz\033\\C\033]8;;\033\\D" 150s 13/14 url.R: normalize_state(u20) 150s [1] "A\033]8;id=a;x.yz\033\\B\033]8;id=a;w.yz\033\\C\033]8;;\033\\D" 150s 13/14 url.R: unitizer_sect("substr", { 150s 13/14 url.R: substr_ctl(u0, 6, 9) 150s [1] "\033]8;;https://x.yz\033\\is a\033]8;;\033\\" 150s 13/14 url.R: substr_ctl(u0, 6, 9, terminate = FALSE) 150s [1] "\033]8;;https://x.yz\033\\is a" 150s 13/14 url.R: substr_ctl("hello world", 3, 8, carry = "\033]8;;a.b\033\\") 150s [1] "\033]8;;a.b\033\\llo wo\033]8;;\033\\" 150s 13/14 url.R: np.bytes <- c("A\033]8;a=\r:id=c;x.y\033\\B", "A\033]8;a=c:id=\r;x. 150s 13/14 url.R: Encoding(np.bytes) <- "UTF-8" 150s 13/14 url.R: substr_ctl(np.bytes[1:3], 2, 2) 150s [1] "\033]8;id=c;x.y\033\\B\033]8;;\033\\" 150s [2] "\033]8;;x.y\033\\B\033]8;;\033\\" 150s [3] "B" 150s 13/14 url.R: substr_ctl(np.bytes[4], 2, 2) 150s 13/14 url.R: unitizer_sect("tohtml", { 150s 13/14 url.R: to_html(u0) 150s [1] "This is a link" 150s 13/14 url.R: to_html("A\033[44mB\033]8;;x.y\033\\C\033[33m\033]8;;\033\\D") 150s [1] "ABCD" 150s 13/14 url.R: to_html("A\033[44mB\033]8;;x.y\033\\C\033[33m\033]8;;w.z\033\\D") 150s [1] "ABCD" 150s 13/14 url.R: u23 <- c("A \033[44mB \033]8;;x.y\033\\C \033[33m\033]8;;w.z\033\\D 150s 13/14 url.R: to_html(u23) 150s [1] "A B C D" 150s [2] "E F G" 150s [3] "H I" 150s 13/14 url.R: to_html(strwrap_ctl(u23, 4)) 150s [1] "A B" 150s [2] "C D" 150s [3] "E F" 150s [4] "G" 150s [5] "H I" 150s 13/14 url.R: unitizer_sect("osc", { 150s 13/14 url.R: nchar_ctl("\033]hello \aworld") 150s [1] 5 150s 13/14 url.R: nchar_ctl("\033]hello \033\\world") 150s [1] 5 150s 13/14 url.R: nchar_ctl("\033]hello \033\\world", ctl = c("all", "osc")) 150s [1] 11 150s 13/14 url.R: x <- "\033]hello\200\033\\world" 150s 13/14 url.R: Encoding(x) <- "UTF-8" 150s 13/14 url.R: nchar_ctl(x) 150s [1] 5 150s 13/14 url.R: nchar_ctl("\033]hello world") 150s [1] 0 150s Warning in nchar_ctl_internal(x = x, type.int = TYPE.INT, allowNA = allowNA, : 150s Argument `x` contains a malformed CSI or OSC sequence at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 150s 150s 14/14 wrap.R: 150s 14/14 wrap.R: library(unitizer) 150s 14/14 wrap.R: library(fansi) 150s 14/14 wrap.R: unitizer_sect("Basic wrap", { 150s 14/14 wrap.R: hello.0 <- "hello world this is a lovely day" 150s 14/14 wrap.R: strwrap_ctl(hello.0, width = 10) 150s [1] "hello" "world" "this is a" "lovely" "day" 150s 14/14 wrap.R: hello.1 <- "hello world this is. a lovely day." 150s 14/14 wrap.R: strwrap_ctl(hello.1, width = 10) 150s [1] "hello" "world" "this is." "a lovely" "day." 150s 14/14 wrap.R: hello.2 <- "hello\rworld\rthis is. a lovely day." 150s 14/14 wrap.R: strwrap_ctl(hello.2, width = 10) 150s [1] "hello\rworld\rthis" "is. a" "lovely" 150s [4] "day." 150s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 150s Argument `x` contains a C0 control character at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 150s 14/14 wrap.R: hello.3 <- "hello\rworld\nthis is. a lovely\n day." 150s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 150s Argument `x` contains a C0 control character at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 150s 14/14 wrap.R: strwrap_ctl(hello.3, width = 10) 150s [1] "hello\rworld" "this is." "a lovely" "day." 150s 14/14 wrap.R: hello.4 <- " hello world this is a lovely day." 150s 14/14 wrap.R: strwrap_ctl(hello.4, width = 10) 150s [1] "hello" "world" "this is a" "lovely" "day." 150s 14/14 wrap.R: hello.5 <- "hello.\n\n\nworld" 150s 14/14 wrap.R: strwrap_ctl(hello.5, width = 10) 150s [1] "hello." "" "world" 150s 14/14 wrap.R: hello.5a <- "hello.\n \n \nworld" 150s 14/14 wrap.R: strwrap_ctl(hello.5a, width = 10) 150s [1] "hello." "" "world" 150s 14/14 wrap.R: hello.6a <- "hello.\" there" 150s 14/14 wrap.R: strwrap_ctl(hello.6a, width = 40) 150s [1] "hello.\" there" 150s 14/14 wrap.R: hello.6b <- "hello.' there" 150s 14/14 wrap.R: strwrap_ctl(hello.6b, width = 40) 150s [1] "hello.' there" 150s 14/14 wrap.R: hello.6c <- "hello.) there" 150s 14/14 wrap.R: strwrap_ctl(hello.6c, width = 40) 150s [1] "hello.) there" 150s 14/14 wrap.R: unitizer_sect("Basic Ansi", { 150s 14/14 wrap.R: hello2.0 <- paste0("hello ", red, "world ", grn.bg, " this is a l 150s 14/14 wrap.R: strwrap_ctl(hello2.0, 10) 150s [1] "hello" "\033[31mworld\033[0m" 150s [3] "\033[31;42mthis is a\033[0m" "\033[31;42mlovely\033[0mday." 150s 14/14 wrap.R: strwrap_ctl(strip_ctl(hello2.0, "sgr"), 10) 150s [1] "hello" "world" "this is a" "lovelyday." 150s 14/14 wrap.R: hello2.1 <- paste0("hello \033[41mworld\033[m how are you today") 150s 14/14 wrap.R: hello2.2 <- paste0("hello \033[41mworld\033[0m how are you today") 150s 14/14 wrap.R: strwrap_ctl(hello2.1, 15) 150s [1] "hello \033[41mworld\033[0m" "how are you" 150s [3] "today" 150s 14/14 wrap.R: hello.bold.faint <- paste0("hello \033[1mbolded once upon a time\0 150s 14/14 wrap.R: strwrap_ctl(hello.bold.faint, 10) 150s [1] "hello" "\033[1mbolded\033[0m" 150s [3] "\033[1monce upon\033[0m" "\033[1ma time\033[0m" 150s [5] "normal" "\033[2mfainting\033[0m" 150s [7] "\033[2min\033[0m" "\033[2mfaintness\033[0m" 150s [9] "\033[2moh no\033[0m" "normal" 150s 14/14 wrap.R: hello.blinky <- paste0("hello \033[5mbliking slowly oh my\033[25m 150s 14/14 wrap.R: strwrap_ctl(hello.blinky, 10) 150s [1] "hello" "\033[5mbliking\033[0m" 150s [3] "\033[5mslowly oh\033[0m" "\033[5mmy\033[25m normal" 150s [5] "\033[6mblinking\033[0m" "\033[6mquickly\033[0m" 150s [7] "\033[6moh my\033[0m" "normal" 150s 14/14 wrap.R: strwrap_ctl(hello.blinky, 10, terminate = FALSE) 150s [1] "hello" "\033[5mbliking" "slowly oh" 150s [4] "my\033[25m normal" "\033[6mblinking" "quickly" 150s [7] "oh my" "\033[0mnormal" 150s 14/14 wrap.R: hello2.3 <- c(hello2.1, hello2.2) 150s 14/14 wrap.R: strwrap_ctl(hello2.3, 10, simplify = FALSE) 150s [[1]] 150s [1] "hello" "\033[41mworld\033[m how" 150s [3] "are you" "today" 150s 150s [[2]] 150s [1] "hello" "\033[41mworld\033[0m how" 150s [3] "are you" "today" 150s 150s 14/14 wrap.R: strwrap2_ctl(hello2.3, 10, simplify = FALSE) 150s [[1]] 150s [1] "hello" "\033[41mworld\033[m how" 150s [3] "are you" "today" 150s 150s [[2]] 150s [1] "hello" "\033[41mworld\033[0m how" 150s [3] "are you" "today" 150s 150s 14/14 wrap.R: strwrap_ctl("aliquip \033[31mex ea commodo consequat\033[0m\n", 150s [1] "aliquip \033[31mex ea commodo\033[0m" 150s [2] "\033[31mconsequat\033[0m" 150s 14/14 wrap.R: unitizer_sect("Long Wrap", { 150s 14/14 wrap.R: wrap.csi <- strwrap_ctl(lorem.r.thanks, 40) 150s 14/14 wrap.R: nchar(strip_ctl(wrap.csi, "sgr")) 150s [1] 34 37 30 13 0 37 38 9 0 39 36 37 15 0 35 39 37 37 31 25 0 39 37 38 39 150s [26] 5 0 39 36 34 33 36 39 27 0 31 29 37 39 35 34 37 34 31 36 25 37 150s 14/14 wrap.R: nchar(wrap.csi) 150s [1] 44 37 30 13 0 68 56 17 0 98 55 57 25 0 61 47 63 90 72 61 0 68 37 38 49 150s [26] 5 0 75 54 47 49 64 67 45 0 91 78 87 88 74 73 86 54 60 75 25 67 150s 14/14 wrap.R: unitizer_sect("Other Escapes", { 150s 14/14 wrap.R: strwrap_ctl("hello \033kworld yohoo", 12) 150s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 150s Argument `x` contains a non-CSI/OSC escape sequence at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off th[1] "hello \033kworld" "yohoo" 150s ese warnings. 150s 14/14 wrap.R: strwrap_ctl("hello \033\nworld yohoo", 12) 150s [1] "hello \033\nworld" "yohoo" 150s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 150s Argument `x` contains a malformed escape sequence at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 150s 14/14 wrap.R: c0 <- "hello\037\037\037\037\037\037 world yohoo" 150s 14/14 wrap.R: Encoding(c0) <- "UTF-8" 150s 14/14 wrap.R: strwrap_ctl(c0, 12) 150s [1] "hello\037\037\037\037\037\037 world" "yohoo" 150s 14/14 wrap.R: strwrap_ctl("hello \033[999mworld", 6) 150s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 150s Argument `x` contains a C0 control character at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 150s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 150s [1] "hello" "world" 150s Argument `x` contains a CSI SGR sequence or OSC hyperlink with invalid substrings at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 150s 14/14 wrap.R: strwrap_ctl("hello \033[31#31mworld", 6) 150s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 150s Argument `x` contains a CSI SGR sequence or OSC hyperlink with invalid substrings at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 150s [1] "hello" "world" 150s 14/14 wrap.R: strwrap_ctl("hello \033[999nworld", 6) 150s [1] "hello" Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 150s Argument `x` contains a non-SGR CSI or a non-URL OSC sequence at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 150s "\033[999nworld" 150s 14/14 wrap.R: strwrap_ctl("hello \033[999mworld", 6, warn = FALSE) 150s [1] "hello" "world" 150s 14/14 wrap.R: strwrap_ctl("hello \033[31#31mworld", 6, warn = FALSE) 150s [1] "hello" "world" 150s 14/14 wrap.R: strwrap_ctl("hello \033[999nworld", 6, warn = FALSE) 150s [1] "hello" "\033[999nworld" 150s 14/14 wrap.R: unitizer_sect("prefix / initial simple", { 150s 14/14 wrap.R: lorem.sentence <- unlist(strsplit_ctl(lorem, "[.]\\K ", perl = TRU 150s 14/14 wrap.R: lorem.sentence <- gsub(",", ",\n", lorem.sentence, fixed = TRUE) 150s 14/14 wrap.R: lorem.para <- c(paste0(lorem.sentence[1:2], collapse = "\n\n"), 150s 14/14 wrap.R: strwrap_ctl(lorem.para, indent = 2) 150s [1] " Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do" 150s [2] "eiusmod tempor incididunt ut labore et dolore magna aliqua." 150s [3] "" 150s [4] " Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris" 150s [5] "nisi ut aliquip ex ea commodo consequat." 150s [6] " Duis aute irure dolor in reprehenderit in voluptate velit esse cillum" 150s [7] "dolore eu fugiat nulla pariatur." 150s [8] "" 150s [9] " Excepteur sint occaecat cupidatat non proident, sunt in culpa qui" 150s [10] "officia deserunt mollit anim id est laborum." 150s 14/14 wrap.R: strwrap_ctl(lorem.para, exdent = 2) 150s [1] "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod" 150s [2] " tempor incididunt ut labore et dolore magna aliqua." 150s [3] "" 150s [4] "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi" 150s [5] " ut aliquip ex ea commodo consequat." 150s [6] "Duis aute irure dolor in reprehenderit in voluptate velit esse cillum" 150s [7] " dolore eu fugiat nulla pariatur." 150s [8] "" 150s [9] "Excepteur sint occaecat cupidatat non proident, sunt in culpa qui" 150s [10] " officia deserunt mollit anim id est laborum." 150s 14/14 wrap.R: strwrap_ctl(lorem.para, indent = 4, exdent = 2) 150s [1] " Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do" 150s [2] " eiusmod tempor incididunt ut labore et dolore magna aliqua." 150s [3] "" 150s [4] " Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris" 150s [5] " nisi ut aliquip ex ea commodo consequat." 150s [6] " Duis aute irure dolor in reprehenderit in voluptate velit esse" 150s [7] " cillum dolore eu fugiat nulla pariatur." 150s [8] "" 150s [9] " Excepteur sint occaecat cupidatat non proident, sunt in culpa qui" 150s [10] " officia deserunt mollit anim id est laborum." 150s 14/14 wrap.R: unitizer_sect("prefix / initial with ESC", { 150s 14/14 wrap.R: pre <- "\033[32m+ \033[0m" 150s 14/14 wrap.R: ini <- "\033[33m> \033[0m" 150s 14/14 wrap.R: hello.8a <- "hello world yohoo" 150s 14/14 wrap.R: wrap.csi.2 <- strwrap_ctl(hello.8a, 14, prefix = pre, initial = in 150s 14/14 wrap.R: wrap.csi.2 150s [1] "\033[33m> \033[0mhello world" "\033[32m+ \033[0myohoo" 150s 14/14 wrap.R: hello.8b <- c(hello.8a, "oh my this has 2 elements") 150s 14/14 wrap.R: wrap.csi.3 <- strwrap_ctl(hello.8b, 14, prefix = pre, initial = in 150s 14/14 wrap.R: wrap.csi.3 150s [1] "\033[33m> \033[0mhello world" "\033[32m+ \033[0myohoo" 150s [3] "\033[32m+ \033[0moh my this" "\033[32m+ \033[0mhas 2" 150s [5] "\033[32m+ \033[0melements" 150s 14/14 wrap.R: unitizer_sect("wrap2", { 150s 14/14 wrap.R: hello.9a <- "hello\t\033[41mred\033[49m\tworld" 150s 14/14 wrap.R: strwrap2_ctl(hello.9a, 12) 150s [1] "hello \033[41mred\033[0m" "world" 150s 14/14 wrap.R: strwrap2_ctl(hello.9a, 12, tabs.as.spaces = TRUE) 150s [1] "hello \033[41mred\033[49m" " world" 150s 14/14 wrap.R: strwrap2_ctl(hello.9a, 13, tabs.as.spaces = TRUE) 150s [1] "hello \033[41mred\033[49m " " world" 150s 14/14 wrap.R: strwrap2_ctl(hello.9a, 12, tabs.as.spaces = TRUE, tab.stops = c(6, 150s [1] "hello \033[41mred\033[49m " " " 150s [3] "world" 150s 14/14 wrap.R: r.thanks <- lorem.r.thanks.2 150s 14/14 wrap.R: bg <- ceiling(seq_along(r.thanks)/length(r.thanks) * 215) + 16 150s 14/14 wrap.R: fg <- ifelse((((bg - 16)%/%18)%%2), 30, 37) 150s 14/14 wrap.R: tpl <- "\033[%d;48;5;%dm%s\033[49m" 150s 14/14 wrap.R: nz <- nzchar(r.thanks) 150s 14/14 wrap.R: r.thanks[nz] <- sprintf(tpl, fg[nz], bg[nz], r.thanks[nz]) 150s 14/14 wrap.R: r.col <- paste0(r.thanks, collapse = "\n") 150s 14/14 wrap.R: r.wrap <- strwrap2_ctl(r.col, 35, pad.end = " ", wrap.always = TRU 150s 14/14 wrap.R: (r.wrap) 150s [1] "\033[37;48;5;23mMany more, too numerous to mention\033[0m" 150s [2] "\033[37;48;5;23mhere, have contributed by sending \033[0m" 150s [3] "\033[37;48;5;23mbug\033[49m \033[37;48;5;30mreports and suggesting various\033[0m" 150s [4] "\033[37;48;5;30mimprovements.\033[49m \033[0m" 150s [5] "\033[37m \033[0m" 150s [6] "\033[30;48;5;43mSimon Davies whilst at the \033[0m" 150s [7] "\033[30;48;5;43mUniversity of Auckland wrote the \033[0m" 150s [8] "\033[30;48;5;43moriginal\033[49m \033[30;48;5;50mversion of glm().\033[49m \033[0m" 150s [9] "\033[30m \033[0m" 150s [10] "\033[37;48;5;64mJulian Harris and Wing Kwong \033[0m" 150s [11] "\033[37;48;5;64m(Tiki) Wan whilst at the \033[0m" 150s [12] "\033[37;48;5;64mUniversity of\033[49m \033[30;48;5;70mAuckland assisted \033[0m" 150s [13] "\033[30;48;5;70mRoss Ihaka with the original \033[0m" 150s [14] "\033[30;48;5;70mMacintosh port.\033[49m \033[0m" 150s [15] "\033[30m \033[0m" 150s [16] "\033[30;48;5;84mR was inspired by the S \033[0m" 150s [17] "\033[30;48;5;84menvironment which has been \033[0m" 150s [18] "\033[30;48;5;84mprincipally\033[49m \033[37;48;5;90mdeveloped by John \033[0m" 150s [19] "\033[37;48;5;90mChambers, with substantial input \033[0m" 150s [20] "\033[37;48;5;90mfrom Douglas Bates,\033[49m \033[37;48;5;97mRick Becker, \033[0m" 150s [21] "\033[37;48;5;97mBill Cleveland, Trevor Hastie, \033[0m" 150s [22] "\033[37;48;5;97mDaryl Pregibon and\033[49m \033[37;48;5;104mAllan Wilks.\033[49m \033[0m" 150s [23] "\033[37m \033[0m" 150s [24] "\033[30;48;5;117mA special debt is owed to John \033[0m" 150s [25] "\033[30;48;5;117mChambers who has graciously \033[0m" 150s [26] "\033[30;48;5;117mcontributed\033[49m \033[37;48;5;124madvice and \033[0m" 150s [27] "\033[37;48;5;124mencouragement in the early days of\033[0m" 150s [28] "\033[37;48;5;124mR and later became a\033[49m \033[37;48;5;131mmember of the\033[0m" 150s [29] "\033[37;48;5;131mcore team.\033[49m \033[0m" 150s [30] "\033[37m \033[0m" 150s [31] "\033[30;48;5;158mThe R Foundation may decide to \033[0m" 150s [32] "\033[30;48;5;158mgive out \033[0m" 150s [33] "\033[30;48;5;158m@R-project.org\033[49m \033[0m" 150s [34] "\033[37;48;5;164memail addresses to contributors to\033[0m" 150s [35] "\033[37;48;5;164mthe R Project (even without making\033[0m" 150s [36] "\033[37;48;5;164mthem\033[49m \033[37;48;5;171mmembers of the R Foundation) \033[0m" 150s [37] "\033[37;48;5;171mwhen in the view of the R \033[0m" 150s [38] "\033[37;48;5;171mFoundation this\033[49m \033[30;48;5;178mwould help advance\033[0m" 150s [39] "\033[30;48;5;178mthe R project.\033[49m \033[0m" 150s [40] "\033[30m \033[0m" 150s [41] "\033[30;48;5;191mThe R Core Group, Roger Bivand, \033[0m" 150s [42] "\033[30;48;5;191mJennifer Bryan, Di Cook, Dirk \033[0m" 150s [43] "\033[30;48;5;191mEddelbuettel,\033[49m \033[37;48;5;198mJohn Fox, Bettina \033[0m" 150s [44] "\033[37;48;5;198mGrn, Frank Harrell, Torsten \033[0m" 150s [45] "\033[37;48;5;198mHothorn, Stefano Iacus,\033[49m \033[37;48;5;205mJulie \033[0m" 150s [46] "\033[37;48;5;205mJosse, Balasubramanian Narasimhan,\033[0m" 150s [47] "\033[37;48;5;205mMarc Schwartz, Heather Turner,\033[49m \033[0m" 150s [48] "\033[37;48;5;211mBill Venables, Hadley Wickham and \033[0m" 150s [49] "\033[37;48;5;211mAchim Zeileis are the ordinary \033[0m" 150s [50] "\033[37;48;5;211mmembers of\033[49m \033[30;48;5;218mthe R Foundation.\033[49m \033[30;48;5;225mIn \033[0m" 150s [51] "\033[30;48;5;225maddition, David Meyer and Simon \033[0m" 150s [52] "\033[30;48;5;225mWood are also e-addressable by\033[49m \033[0m" 150s [53] "\033[30;48;5;231m.@R-project.o\033[0m" 150s [54] "\033[30;48;5;231mrg.\033[49m \033[0m" 150s 14/14 wrap.R: hello.9b <- "\033[41mhello\n\nworld." 150s 14/14 wrap.R: strwrap2_ctl(hello.9b, 8, pad.end = " ") 150s [1] "\033[41mhello \033[0m" "\033[41m \033[0m" "\033[41mworld. \033[0m" 150s 14/14 wrap.R: strwrap2_ctl(hello.9b, 8, pad.end = 0) 150s [1] "\033[41mhello00\033[0m" "\033[41m0000000\033[0m" "\033[41mworld.0\033[0m" 150s 14/14 wrap.R: hello.9b <- " \033[41mhello world." 150s 14/14 wrap.R: strwrap2_ctl(hello.9b, 8, strip.spaces = FALSE) 150s [1] " \033[41mhello\033[0m" "\033[41m world.\033[0m" 150s 14/14 wrap.R: hello.9c <- "\033[41m hello world." 150s 14/14 wrap.R: ws.0 <- "hello worldza" 150s 14/14 wrap.R: ws.1 <- "hello \t worldza" 150s 14/14 wrap.R: ws.2 <- "hello \n worldza" 150s 14/14 wrap.R: strwrap2_sgr(ws.0, 7, strip.spaces = FALSE) 150s [1] "hello " " " "worldza" 150s 14/14 wrap.R: strwrap2_sgr(ws.0, 7, strip.spaces = FALSE, wrap.always = TRUE) 150s [1] "hello " " " "worldz" "a" 150s 14/14 wrap.R: strwrap2_sgr(ws.0, 6, strip.spaces = FALSE) 150s [1] "hello" " " "worldza" 150s 14/14 wrap.R: strwrap2_sgr(ws.0, 6, strip.spaces = FALSE, wrap.always = TRUE) 150s [1] "hello" " " "world" "za" 150s 14/14 wrap.R: strwrap2_sgr(ws.1, 7, strip.spaces = FALSE) 150s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 150s Argument `x` contains a C0 control character at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these war[1] "hello " "\t " "worldza" 150s nings. 150s 14/14 wrap.R: strwrap2_sgr(ws.1, 7, strip.spaces = FALSE, wrap.always = TRUE) 150s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 150s Argument `x` contains a C0 control character at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 150s [1] "hello " "\t " "worldz" "a" 150s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 150s Argument `x` contains a C0 control character at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 150s 14/14 wrap.R: strwrap2_sgr(ws.1, 6, strip.spaces = FALSE) 150s [1] "hello" " \t " "worldza" 150s 14/14 wrap.R: strwrap2_sgr(ws.1, 6, strip.spaces = FALSE, wrap.always = TRUE) 150s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 150s Argument `x` contains a C0 control character at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 150s [1] "hello" " \t " "world" "za" 150s 14/14 wrap.R: strwrap2_sgr(" hello world ", 7, strip.spaces = FALSE) 150s [1] " hello" " world" " " 150s 14/14 wrap.R: strwrap2_sgr("\thello\tworld\t", 7, strip.spaces = FALSE) 150s [1] "\thello" "\tworld" "\t" 150s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 150s Argument `x` contains a C0 control character at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 150s 14/14 wrap.R: strwrap2_sgr("\nhello\nworld\n", 7, strip.spaces = FALSE) 150s [1] "" "hello" "world" "" 150s 14/14 wrap.R: unitizer_sect("_sgr", { 150s 14/14 wrap.R: hello.9e <- c("hello\t\033[91mworld\033[m\t\033[38;2;31;42;4mworld 150s 14/14 wrap.R: strwrap_sgr(hello.9e, 12, term.cap = "256") 150s [1] "hello \033[91mworld\033[0m" 150s [2] "\033[38;2;31;42;4mworld\033[0m" 150s [3] "\033[38;2;31;42;4mboohaythere\033[0m" 150s [4] "asdfasdfasdfasdf" Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 150s Argument `x` contains a CSI SGR sequence with color codes not supported by terminal at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 150s 150s 14/14 wrap.R: hello.9f <- "hello \033[91mworld boohaythereyowza" 150s 14/14 wrap.R: strwrap2_sgr(hello.9f, 12, prefix = "++", initial = ">>", wrap.alw 150s [1] ">>hello ~~~" "\033[91m++world ~~~\033[0m" 150s [3] "\033[91m++boohaythe\033[0m" "\033[91m++reyowza~~\033[0m" 150s 14/14 wrap.R: strwrap2_sgr(hello.9e, 12, tabs.as.spaces = TRUE, tab.stops = c(6, 150s [[1]] 150s [1] ">> hello ~" 150s [2] "\033[91m++ world\033[m " 150s [3] "++ \033[38;2;31;42;4mworld\033[0m" 150s [4] "\033[38;2;31;42;4m++ ~~~~~~~\033[0m" 150s [5] "\033[38;2;31;42;4m++ boohayth\033[0m" 150s [6] "\033[38;2;31;42;4m++ ere~~~~~\033[0m" 150s 150s [[2]] 150s [1] "++ asdfasd" "++ fasdfasd" "++ f~~~~~~~" 150s 150s 14/14 wrap.R: strwrap_sgr(hello.9e, 12, warn = FALSE, indent = 2, exdent = 1, 150s [[1]] 150s [1] ">> hello" 150s [2] "\033[91m++ world\033[0m" 150s [3] "\033[38;2;31;42;4m++ world\033[0m" 150s [4] "\033[38;2;31;42;4m++ boohaythere\033[0m" 150s 150s [[2]] 150s [1] "++ asdfasdfasdfasdf" 150s 150s 14/14 wrap.R: strwrap_sgr(hello.9e, 12, indent = 2, exdent = 1, prefix = "++", 150s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 150s Argument `x` contains a CSI SGR sequence with color codes not supported by terminal at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 150s [[1]] 150s [1] ">> hello" 150s [2] "\033[91m++ world\033[0m" 150s [3] "\033[38;2;31;42;4m++ world\033[0m" 150s [4] "\033[38;2;31;42;4m++ boohaythere\033[0m" 150s 150s [[2]] 150s [1] "++ asdfasdfasdfasdf" 150s 150s 14/14 wrap.R: unitizer_sect("long words", { 150s 14/14 wrap.R: hello.long <- "\033[31mhelloworld\033[mlongword" 150s 14/14 wrap.R: strwrap_ctl(hello.long, 8) 150s [1] "\033[31mhelloworld\033[mlongword" 150s 14/14 wrap.R: strwrap2_ctl(hello.long, 8, wrap.always = TRUE) 150s [1] "\033[31mhellowo\033[0m" "\033[31mrld\033[mlong" "word" 150s 14/14 wrap.R: unitizer_sect("rare escapes", { 150s 14/14 wrap.R: hello.border <- c("hello \033[51mworld woohoo\033[54m woohoo", 150s 14/14 wrap.R: strwrap_ctl(hello.border, 12) 150s [1] "hello \033[51mworld\033[0m" "\033[51mwoohoo\033[0m" 150s [3] "woohoo" "hello \033[52mworld\033[0m" 150s [5] "\033[52mwoohoo\033[0m" "woohoo" 150s [7] "hello \033[53mworld\033[0m" "\033[53mwoohoo\033[0m" 150s [9] "woohoo" 150s 14/14 wrap.R: strwrap_ctl(hello.border, 12, terminate = FALSE) 150s [1] "hello \033[51mworld" "woohoo" "\033[0mwoohoo" 150s [4] "hello \033[52mworld" "woohoo" "\033[0mwoohoo" 150s [7] "hello \033[53mworld" "woohoo" "\033[0mwoohoo" 150s 14/14 wrap.R: hello.ideogram <- c("hello \033[60mworld woohoo\033[65m woohoo", 151s 14/14 wrap.R: strwrap_ctl(hello.ideogram, 12, terminate = FALSE) 151s [1] "hello \033[60mworld" "woohoo" "\033[0mwoohoo" 151s [4] "hello \033[61mworld" "woohoo" "\033[0mwoohoo" 151s [7] "hello \033[62mworld" "woohoo" "\033[0mwoohoo" 151s [10] "hello \033[63mworld" "woohoo" "\033[0mwoohoo" 151s [13] "hello \033[64mworld" "woohoo" "\033[0mwoohoo" 151s 14/14 wrap.R: hello.font <- c("hello \033[10mworld woohoo\033[10m woohoo", 151s 14/14 wrap.R: strwrap_ctl(hello.font, 12, terminate = FALSE) 151s [1] "hello \033[10mworld" "woohoo" "woohoo" 151s [4] "hello \033[11mworld" "woohoo" "\033[0mwoohoo" 151s [7] "hello \033[12mworld" "woohoo" "\033[0mwoohoo" 151s [10] "hello \033[13mworld" "woohoo" "\033[0mwoohoo" 151s [13] "hello \033[14mworld" "woohoo" "\033[0mwoohoo" 151s [16] "hello \033[15mworld" "woohoo" "\033[0mwoohoo" 151s [19] "hello \033[16mworld" "woohoo" "\033[0mwoohoo" 151s [22] "hello \033[17mworld" "woohoo" "\033[0mwoohoo" 151s [25] "hello \033[18mworld" "woohoo" "\033[0mwoohoo" 151s [28] "hello \033[19mworld" "woohoo" "\033[0mwoohoo" 151s 14/14 wrap.R: unitizer_sect("term cap and bright", { 151s 14/14 wrap.R: getOption("fansi.term.cap", dflt_term_cap()) 151s [1] "bright" "256" 151s 14/14 wrap.R: hello.bright <- "\033[42mhello \033[103mworld wowza\033[49m" 151s 14/14 wrap.R: strwrap_ctl(hello.bright, 13) 151s [1] "\033[42mhello \033[103mworld\033[0m" "\033[103mwowza\033[0m" 151s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 151s Argument `x` contains a CSI SGR sequence with color codes not supported by terminal at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 151s 14/14 wrap.R: strwrap_ctl(hello.bright, 13, term.cap = character()) 151s [1] "\033[42mhello \033[103mworld\033[0m" "\033[103mwowza\033[0m" 151s 14/14 wrap.R: hello.255 <- "\033[42mhello \033[48;5;47mworld wowza\033[49m" 151s 14/14 wrap.R: strwrap_ctl(hello.255, 13) 151s [1] "\033[42mhello \033[48;5;47mworld\033[0m" 151s [2] "\033[48;5;47mwowza\033[0m" 151s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 151s Argument `x` contains a CSI SGR sequence with color codes not supported by terminal at index [1], see `?unhandled_ctl`; you can14/14 wrap.R: strwrap_ctl(hello.255, 13, term.cap = character()) 151s use `warn=FALSE` to turn off these warnings. 151s [1] "\033[42mhello \033[48;5;47mworld\033[0m" 151s [2] "\033[48;5;47mwowza\033[0m" 151s 14/14 wrap.R: hello.tru <- "\033[42mhello \033[48;2;7;41;4mworld wowza\033[m" 151s 14/14 wrap.R: strwrap_ctl(hello.tru, 13, term.cap = "truecolor") 151s [1] "\033[42mhello \033[48;2;7;41;4mworld\033[0m" 151s [2] "\033[48;2;7;41;4mwowza\033[0m" 151s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 151s Argument `x` contains a CSI SGR sequence with color codes not supported by terminal at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 151s 14/14 wrap.R: strwrap_ctl(hello.tru, 13) 151s [1] "\033[42mhello \033[48;2;7;41;4mworld\033[0m" 151s [2] "\033[48;2;7;41;4mwowza\033[0m" 151s 14/14 wrap.R: unitizer_sect("corner cases", { 151s 14/14 wrap.R: strwrap_ctl("a", -1) 151s [1] "a" 151s 14/14 wrap.R: strwrap2_ctl("a", -1) 151s [1] "a" 151s 14/14 wrap.R: strwrap2_ctl("a", Inf) 151s [1] "a" 151s 14/14 wrap.R: strwrap2_ctl("a", NA_real_) 151s Error in strwrap2_ctl("a", NA_real_) : 151s Argument `width` must be a positive scalar numeric representable as integer. 151s Calls: unitize_dir ... strwrap2_ctl -> VAL_WRAP_IN_ENV -> is_scl_int_pos -> stop2 151s 14/14 wrap.R: strwrap2_ctl("a", NA_integer_) 151s Error in strwrap2_ctl("a", NA_integer_) : 151s Argument `width` must be a positive scalar numeric representable as integer. 151s Calls: unitize_dir ... strwrap2_ctl -> VAL_WRAP_IN_ENV -> is_scl_int_pos -> stop2 151s Error in strwrap2_ctl("a", -1, wrap.always = TRUE) : 151s Width must be at least 2 in `wrap.always` mode. 151s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> strwrap2_ctl 151s 14/14 wrap.R: strwrap2_ctl("a", -1, wrap.always = TRUE) 151s 14/14 wrap.R: strwrap2_ctl("a", 0, wrap.always = TRUE) 151s Error in strwrap2_ctl("a", 0, wrap.always = TRUE) : 151s Width must be at least 2 in `wrap.always` mode. 151s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> strwrap2_ctl 151s 14/14 wrap.R: strwrap2_ctl("a", 1, wrap.always = TRUE) 151s Error in strwrap2_ctl("a", 1, wrap.always = TRUE) : 151s Width must be at least 2 in `wrap.always` mode. 151s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> strwrap2_ctl 151s 14/14 wrap.R: tryCatch(strwrap_ctl("hello world", 6, prefix = "\033p"), warning 151s [1] "Argument `prefix` contains a non-CSI/OSC escape sequence at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings." 151s 14/14 wrap.R: suppressWarnings(strwrap_ctl("hello world", 6, prefix = "\033p")) 151s [1] "\033phello" "\033pworld" 151s 14/14 wrap.R: tryCatch(strwrap2_ctl("hello world", 8, pad.end = "\t"), error = c 151s [1] "Argument `pad.end` must be an empty string or a single printable ASCII character." 151s 14/14 wrap.R: tryCatch(strwrap2_ctl("hello world", 8, pad.end = " "), error = c 151s [1] "Argument `pad.end` must be at most one byte long." 151s 14/14 wrap.R: strwrap2_ctl("goodbye moon", 8, indent = 5, prefix = "> hello >") 151s [1] "> hello > goodbye" "> hello >moon" 151s 14/14 wrap.R: strwrap2_ctl("goodbye moon", 16, indent = 5, prefix = "> hello >", 151s [1] "> hello > g" "> hello >oodbye" "> hello >moon" 151s 14/14 wrap.R: tryCatch(strwrap2_ctl("goodbye moon", 15, indent = 5, prefix = "> 151s [1] "Width error: sum of `indent` and `initial` width or sum of `exdent` and `prefix` width must be less than `width - 1` when in `wrap.always`." 151s 14/14 wrap.R: strwrap_ctl("hello world\033[31m\033A", 12) 151s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 151s Argument `x` contains a non-CSI/OSC escape sequence at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 151s [1] "hello world\033[31m\033A\033[0m" 151s 14/14 wrap.R: strwrap_ctl("hello world\033A\033[31m", 12) 151s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 151s Argument `x` contains a non-CSI/OSC escape sequence at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 151s [1] "hello world\033A" 151s 14/14 wrap.R: strwrap_ctl("hello \033[44m world", 5) 151s [1] "hello" "\033[44mworld\033[0m" 151s 14/14 wrap.R: strwrap_ctl("hello \033[44m world", 6) 151s [1] "hello" "\033[44mworld\033[0m" 151s 14/14 wrap.R: strwrap_ctl("hello \033[44m world", 5, terminate = FALSE) 151s [1] "hello" "\033[44mworld" 151s 14/14 wrap.R: strwrap_ctl("hello \033[44m world", 6, terminate = FALSE) 151s [1] "hello" "\033[44mworld" 151s 14/14 wrap.R: strwrap_ctl("hello\n\033[44m\nworld", 5) 151s [1] "hello" "" "\033[44mworld\033[0m" 151s 14/14 wrap.R: strwrap_ctl("hello \n\033[44m\n world", 5) 151s [1] "hello" "" "\033[44mworld\033[0m" 151s 14/14 wrap.R: strwrap_ctl("hello \n \033[44m\n world", 5) 151s [1] "hello" "" "\033[44mworld\033[0m" 151s 14/14 wrap.R: strwrap_ctl("hello \n \n\033[44mworld", 5) 151s [1] "hello" "" "\033[44mworld\033[0m" 151s 14/14 wrap.R: strwrap_ctl("hello \n \n\033[44m world", 5) 151s [1] "hello" "" "\033[44mworld\033[0m" 151s 14/14 wrap.R: strwrap_ctl("hello \n \n\033[44m\nworld", 5) 151s [1] "hello" "" "\033[44mworld\033[0m" 151s 14/14 wrap.R: strwrap_ctl("hello \033[44m\n\n world", 5) 151s [1] "hello" "" "\033[44mworld\033[0m" 151s 14/14 wrap.R: strwrap("hello \n\n world", 5) 151s [1] "hello" "" "world" 151s 14/14 wrap.R: strwrap_ctl("\033[33mAB\033[44m CD", 3) 151s [1] "\033[33mAB\033[0m" "\033[33;44mCD\033[0m" 151s 14/14 wrap.R: strwrap2_ctl("AB\033[44m\n\nCD", 3, wrap.always = TRUE) 151s [1] "AB" "" "\033[44mCD\033[0m" 151s 14/14 wrap.R: strwrap2_ctl("AB\033[44m\n\nCD", 3, wrap.always = TRUE, pad.end = 151s [1] "AB" "\033[44m##\033[0m" "\033[44mCD\033[0m" 151s 14/14 wrap.R: strwrap2_ctl("AB\033[44m\n\nCD", 3, wrap.always = TRUE, terminate 151s [1] "AB" "\033[44m" "CD" 151s 14/14 wrap.R: strwrap2_ctl("AB\033[44m CD", 4, pad.end = "#") 151s [1] "AB\033[44m#\033[0m" "\033[44mCD#\033[0m" 151s 14/14 wrap.R: strwrap2_ctl("AB\033[44m CD", 3, pad.end = "#") 151s [1] "AB" "\033[44mCD\033[0m" 151s 14/14 wrap.R: strwrap2_sgr("\033[43mAB \033[34mCD", strip.spaces = FALSE, 4) 151s [1] "\033[43mAB \033[0m" "\033[34;43mCD\033[0m" 151s 14/14 wrap.R: strwrap_ctl("\033[31m\033[43m", 5) 151s [1] "" 151s 14/14 wrap.R: strwrap2_ctl("a\033[31mb", 2, wrap.always = TRUE) 151s [1] "a" "\033[31mb\033[0m" 151s 14/14 wrap.R: strwrap_ctl("A \033[31mB\033[39m", 3) 151s [1] "A" "\033[31mB\033[0m" 151s Warning in strwrap2_ctl("\033[35phello \033[35p world", 5, strip.spaces = FALSE) : 151s Argument `x` contains a non-SGR CSI or a non-URL OSC sequence at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 151s 14/14 wrap.R: strwrap2_ctl("\033[35phello \033[35p world", 5, strip.spaces = FAL 151s [1] "\033[35phello" " \033[35p " "world" 151s 14/14 wrap.R: identical(strwrap(c(NA, "a b"), 4, prefix = ">"), strwrap_ctl(c(NA 151s [1] TRUE 151s 14/14 wrap.R: identical(strwrap("a b", 4, prefix = NA), strwrap_ctl("a b", 151s [1] TRUE 151s 14/14 wrap.R: unitizer_sect("bad inputs", { 151s 14/14 wrap.R: strwrap_ctl(1:3) 151s [1] "1" "2" "3" 151s 14/14 wrap.R: strwrap_ctl(hello2.0, width = "35") 151s Error in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 151s Argument `width` must be numeric. 151s Calls: unitize_dir ... strwrap_ctl -> strwrap2_ctl -> VAL_WRAP_IN_ENV -> stop2 151s Error in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 151s Argument `width` must be a positive scalar numeric representable as integer. 151s Calls: unitize_dir ... strwrap2_ctl -> VAL_WRAP_IN_ENV -> is_scl_int_pos -> stop2 151s 14/14 wrap.R: strwrap_ctl(hello2.0, width = NA_integer_) 151s Error in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 151s Argument `indent` must be a positive scalar numeric representable as integer. 151s Calls: unitize_dir ... strwrap2_ctl -> VAL_WRAP_IN_ENV -> is_scl_int_pos -> stop2 151s 14/14 wrap.R: strwrap_ctl(hello2.0, indent = NA_integer_) 151s 14/14 wrap.R: strwrap_ctl(hello2.0, indent = -3) 151s Error in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 151s Argument `indent` must be a positive scalar numeric representable as integer. 151s Calls: unitize_dir ... strwrap2_ctl -> VAL_WRAP_IN_ENV -> is_scl_int_pos -> stop2 151s 14/14 wrap.R: strwrap_ctl(hello2.0, exdent = -3) 151s Error in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 151s Argument `exdent` must be a positive scalar numeric representable as integer. 151s Calls: unitize_dir ... strwrap2_ctl -> VAL_WRAP_IN_ENV -> is_scl_int_pos -> stop2 151s 14/14 wrap.R: strwrap_ctl(hello2.0, exdent = 1:3) 151s Error in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 151s Argument `exdent` must be a positive scalar numeric representable as integer. 151s Calls: unitize_dir ... strwrap2_ctl -> VAL_WRAP_IN_ENV -> is_scl_int_pos -> stop2 151s 14/14 wrap.R: strwrap_ctl(hello2.0, prefix = 1:3) 151s Error in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 151s Argument `prefix` must be a scalar character. 151s Calls: unitize_dir ... strwrap_ctl -> strwrap2_ctl -> VAL_WRAP_IN_ENV -> stop2 151s 14/14 wrap.R: strwrap_ctl(hello2.0, initial = 1:3) 151s Error in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 151s Argument `initial` must be a scalar character. 151s Calls: unitize_dir ... strwrap_ctl -> strwrap2_ctl -> VAL_WRAP_IN_ENV -> stop2 151s 14/14 wrap.R: strwrap_ctl(hello2.0, warn = NULL) 151s Error in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 151s Argument `warn` must be TRUE or FALSE. 151s Calls: unitize_dir ... withVisible -> strwrap_ctl -> strwrap2_ctl -> VAL_IN_ENV -> stop2 151s 14/14 wrap.R: strwrap_ctl(hello2.0, term.cap = 1:3) 151s Error in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 151s Argument `term.cap` must be character. 151s Calls: unitize_dir ... withVisible -> strwrap_ctl -> strwrap2_ctl -> VAL_IN_ENV -> stop2 151s Error in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 151s Argument `term.cap` may only contain values in c("all", "bright", "256", "truecolor", "old") 151s Calls: unitize_dir ... withVisible -> strwrap_ctl -> strwrap2_ctl -> VAL_IN_ENV -> stop2 151s 14/14 wrap.R: strwrap_ctl(hello2.0, term.cap = "bananas") 151s 14/14 wrap.R: strwrap_ctl(hello2.0, ctl = 1:3) 151s Error in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 151s Argument `ctl` must be character. 151s Calls: unitize_dir ... withVisible -> strwrap_ctl -> strwrap2_ctl -> VAL_IN_ENV -> stop2 151s 14/14 wrap.R: strwrap_ctl(hello2.0, ctl = "bananas") 151s Error in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 151s Argument `ctl` may contain only values in `c("all", "nl", "c0", "sgr", "csi", "esc", "url", "osc")` 151s Calls: unitize_dir ... withVisible -> strwrap_ctl -> strwrap2_ctl -> VAL_IN_ENV -> stop2 151s 14/14 wrap.R: strwrap2_ctl(hello2.0, wrap.always = 1:3) 151s Error in strwrap2_ctl(hello2.0, wrap.always = 1:3) : 151s Argument `wrap.always` must be TRUE or FALSE. 151s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> strwrap2_ctl 151s 14/14 wrap.R: strwrap2_ctl(hello2.0, wrap.always = NA) 151s Error in strwrap2_ctl(hello2.0, wrap.always = NA) : 151s Argument `wrap.always` must be TRUE or FALSE. 151s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> strwrap2_ctl 151s 14/14 wrap.R: strwrap2_ctl(hello2.0, tabs.as.spaces = NA) 151s Error in strwrap2_ctl(hello2.0, tabs.as.spaces = NA) : 151s Argument `tabs.as.spaces` must be TRUE or FALSE. 151s Calls: unitize_dir ... eval -> withVisible -> strwrap2_ctl -> VAL_IN_ENV -> stop2 151s 14/14 wrap.R: strwrap2_ctl(hello2.0, tabs.as.spaces = 1) 151s [1] "hello \033[31mworld \033[42m this is a lovely\033[0mday." 151s 14/14 wrap.R: strwrap2_ctl(hello2.0, tab.stops = -(1:3)) 151s Error in strwrap2_ctl(hello2.0, tab.stops = -(1:3)) : 151s Argument `tab.stops` must be numeric, strictly positive, and representable as an integer. 151s Calls: unitize_dir ... eval -> withVisible -> strwrap2_ctl -> VAL_IN_ENV -> stop2 151s Error in strwrap2_ctl(hello2.0, tab.stops = 0) : 151s Argument `tab.stops` must be numeric, strictly positive, and representable as an integer. 151s Calls: unitize_dir ... eval -> withVisible -> strwrap2_ctl -> VAL_IN_ENV -> stop2 151s 14/14 wrap.R: strwrap2_ctl(hello2.0, tab.stops = 0) 151s 14/14 wrap.R: strwrap2_ctl(hello2.0, strip.spaces = 1:3) 151s Error in strwrap2_ctl(hello2.0, strip.spaces = 1:3) : 151s Argument `strip.spaces` must be TRUE or FALSE. 151s Calls: unitize_dir ... eval -> withVisible -> strwrap2_ctl -> VAL_IN_ENV -> stop2 151s 14/14 wrap.R: strwrap2_ctl(hello2.0, tabs.as.spaces = TRUE, strip.spaces = TRUE) 151s 14/14 wrap.R: strwrap2_ctl(hello2.0, pad.end = letters) 151s 14/14 wrap.R: bytes <- "\360\343" 151s 14/14 wrap.R: Encoding(bytes) <- "bytes" 151s Error in strwrap2_ctl(hello2.0, tabs.as.spaces = TRUE, strip.spaces = TRUE) : 151s `tabs.as.spaces` and `strip.spaces` should not both be TRUE. 151s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> strwrap2_ctl 151s Error in strwrap2_ctl(hello2.0, pad.end = letters) : 151s Argument `pad.end` must be a scalar character. 151s Calls: unitize_dir ... withVisible -> strwrap2_ctl -> VAL_WRAP_IN_ENV -> stop2 151s Error in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 151s Argument `prefix` cannot be "bytes" encoded. 151s Calls: unitize_dir ... strwrap_ctl -> strwrap2_ctl -> VAL_WRAP_IN_ENV -> stop2 151s 14/14 wrap.R: strwrap_ctl(hello2.0, prefix = bytes) 151s 14/14 wrap.R: strwrap_ctl(hello2.0, initial = bytes) 151s Error in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 151s Argument `initial` cannot be "bytes" encoded. 151s Calls: unitize_dir ... strwrap_ctl -> strwrap2_ctl -> VAL_WRAP_IN_ENV -> stop2 151s 14/14 wrap.R: strwrap2_ctl(hello2.0, pad.end = bytes) 151s Error in strwrap2_ctl(hello2.0, pad.end = bytes) : 151s Argument `pad.end` cannot be "bytes" encoded. 151s Calls: unitize_dir ... withVisible -> strwrap2_ctl -> VAL_WRAP_IN_ENV -> stop2 151s Error in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 151s Argument `x` contains a "bytes" encoded string at index [2], which is disallowed. 151s Calls: unitize_dir ... withVisible -> strwrap_ctl -> strwrap2_ctl -> VAL_IN_ENV -> stop2 151s 14/14 wrap.R: strwrap_ctl(c(hello2.0, bytes)) 151s 151s Warning in history_capt(history, interactive.mode) : 151s Unable to capture history in non-interactive mode. 151s Prepping Unitizers... 152s 152s | Summary of files in common directory '.': 152s | 152s | Pass Fail 152s | 1. has.R 32 - 152s | 2. interactions.R 93 - 152s | 3. misc.R 107 - 152s | 4. nchar.R 48 - 152s | 5. normalize.R 47 - 152s | 6. overflow.R 56 - 152s | 7. strip.R 99 - 152s | 8. strsplit.R 38 - 152s | 9. substr.R 219 - 152s | 10. tabs.R 16 - 152s | 11. tohtml.R 68 - 152s | 12. trimws.R 12 - 152s | 13. url.R 50 - 152s | 14. wrap.R 141 - 152s | .............................. 152s | 1026 - 152s 152s | 1026/1026 tests passed; nothing to review. 152s 152s 152s Preloads...Error in gzfile(file, "rb") : cannot open the connection 152s In addition: Warning message: 152s In gzfile(file, "rb") : 152s cannot open compressed file 'unitizer/_pre/lorem.data/lorem.cn.phrases.RDS', probable reason 'No such file or directory' 152s Error in unitize_core(test.file.inf, list(store.id.inf), state = state, : 152s Argument `pre` could not be interpreted: 152s Error sourcing file `/tmp/autopkgtest.MoW0dr/autopkgtest_tmp/tests/special/_pre/lorem-utf8.R`, see above for details 152s Calls: unitize -> unitize_core 152s Execution halted 152s 153s autopkgtest [10:54:18]: test run-unit-test: -----------------------] 153s autopkgtest [10:54:18]: test run-unit-test: - - - - - - - - - - results - - - - - - - - - - 153s run-unit-test FAIL non-zero exit status 1 154s autopkgtest [10:54:19]: test pkg-r-autopkgtest: preparing testbed 154s Reading package lists... 154s Building dependency tree... 154s Reading state information... 154s Starting pkgProblemResolver with broken count: 0 154s Starting 2 pkgProblemResolver with broken count: 0 154s Done 155s The following NEW packages will be installed: 155s build-essential cpp cpp-14 cpp-14-powerpc64le-linux-gnu 155s cpp-powerpc64le-linux-gnu dctrl-tools g++ g++-14 155s g++-14-powerpc64le-linux-gnu g++-powerpc64le-linux-gnu gcc gcc-14 155s gcc-14-powerpc64le-linux-gnu gcc-powerpc64le-linux-gnu gfortran gfortran-14 155s gfortran-14-powerpc64le-linux-gnu gfortran-powerpc64le-linux-gnu 155s icu-devtools libasan8 libblas-dev libbz2-dev libcc1-0 libdeflate-dev 155s libgcc-14-dev libgfortran-14-dev libicu-dev libisl23 libitm1 libjpeg-dev 155s libjpeg-turbo8-dev libjpeg8-dev liblapack-dev liblsan0 liblzma-dev libmpc3 155s libncurses-dev libpcre2-16-0 libpcre2-32-0 libpcre2-dev libpcre2-posix3 155s libpkgconf3 libpng-dev libquadmath0 libreadline-dev libstdc++-14-dev 155s libtirpc-dev libtsan2 libubsan1 pkg-r-autopkgtest pkgconf pkgconf-bin 155s r-base-dev zlib1g-dev 155s 0 upgraded, 54 newly installed, 0 to remove and 0 not upgraded. 155s Need to get 93.6 MB of archives. 155s After this operation, 350 MB of additional disk space will be used. 155s Get:1 http://ftpmaster.internal/ubuntu plucky/main ppc64el libisl23 ppc64el 0.27-1 [882 kB] 155s Get:2 http://ftpmaster.internal/ubuntu plucky/main ppc64el libmpc3 ppc64el 1.3.1-1build2 [62.1 kB] 155s Get:3 http://ftpmaster.internal/ubuntu plucky/main ppc64el cpp-14-powerpc64le-linux-gnu ppc64el 14.2.0-17ubuntu3 [10.5 MB] 158s Get:4 http://ftpmaster.internal/ubuntu plucky/main ppc64el cpp-14 ppc64el 14.2.0-17ubuntu3 [1036 B] 158s Get:5 http://ftpmaster.internal/ubuntu plucky/main ppc64el cpp-powerpc64le-linux-gnu ppc64el 4:14.2.0-1ubuntu1 [5566 B] 158s Get:6 http://ftpmaster.internal/ubuntu plucky/main ppc64el cpp ppc64el 4:14.2.0-1ubuntu1 [22.4 kB] 158s Get:7 http://ftpmaster.internal/ubuntu plucky/main ppc64el libcc1-0 ppc64el 15-20250222-0ubuntu1 [48.7 kB] 158s Get:8 http://ftpmaster.internal/ubuntu plucky/main ppc64el libitm1 ppc64el 15-20250222-0ubuntu1 [32.2 kB] 158s Get:9 http://ftpmaster.internal/ubuntu plucky/main ppc64el libasan8 ppc64el 15-20250222-0ubuntu1 [3009 kB] 158s Get:10 http://ftpmaster.internal/ubuntu plucky/main ppc64el liblsan0 ppc64el 15-20250222-0ubuntu1 [1376 kB] 158s Get:11 http://ftpmaster.internal/ubuntu plucky/main ppc64el libtsan2 ppc64el 15-20250222-0ubuntu1 [2733 kB] 158s Get:12 http://ftpmaster.internal/ubuntu plucky/main ppc64el libubsan1 ppc64el 15-20250222-0ubuntu1 [1234 kB] 158s Get:13 http://ftpmaster.internal/ubuntu plucky/main ppc64el libquadmath0 ppc64el 15-20250222-0ubuntu1 [160 kB] 158s Get:14 http://ftpmaster.internal/ubuntu plucky/main ppc64el libgcc-14-dev ppc64el 14.2.0-17ubuntu3 [1619 kB] 159s Get:15 http://ftpmaster.internal/ubuntu plucky/main ppc64el gcc-14-powerpc64le-linux-gnu ppc64el 14.2.0-17ubuntu3 [20.6 MB] 159s Get:16 http://ftpmaster.internal/ubuntu plucky/main ppc64el gcc-14 ppc64el 14.2.0-17ubuntu3 [536 kB] 159s Get:17 http://ftpmaster.internal/ubuntu plucky/main ppc64el gcc-powerpc64le-linux-gnu ppc64el 4:14.2.0-1ubuntu1 [1226 B] 159s Get:18 http://ftpmaster.internal/ubuntu plucky/main ppc64el gcc ppc64el 4:14.2.0-1ubuntu1 [5012 B] 159s Get:19 http://ftpmaster.internal/ubuntu plucky/main ppc64el libstdc++-14-dev ppc64el 14.2.0-17ubuntu3 [2678 kB] 159s Get:20 http://ftpmaster.internal/ubuntu plucky/main ppc64el g++-14-powerpc64le-linux-gnu ppc64el 14.2.0-17ubuntu3 [12.0 MB] 160s Get:21 http://ftpmaster.internal/ubuntu plucky/main ppc64el g++-14 ppc64el 14.2.0-17ubuntu3 [21.8 kB] 160s Get:22 http://ftpmaster.internal/ubuntu plucky/main ppc64el g++-powerpc64le-linux-gnu ppc64el 4:14.2.0-1ubuntu1 [966 B] 160s Get:23 http://ftpmaster.internal/ubuntu plucky/main ppc64el g++ ppc64el 4:14.2.0-1ubuntu1 [1088 B] 160s Get:24 http://ftpmaster.internal/ubuntu plucky/main ppc64el build-essential ppc64el 12.10ubuntu1 [4936 B] 160s Get:25 http://ftpmaster.internal/ubuntu plucky/main ppc64el dctrl-tools ppc64el 2.24-3build3 [109 kB] 160s Get:26 http://ftpmaster.internal/ubuntu plucky/main ppc64el libgfortran-14-dev ppc64el 14.2.0-17ubuntu3 [621 kB] 160s Get:27 http://ftpmaster.internal/ubuntu plucky/main ppc64el gfortran-14-powerpc64le-linux-gnu ppc64el 14.2.0-17ubuntu3 [11.3 MB] 160s Get:28 http://ftpmaster.internal/ubuntu plucky/main ppc64el gfortran-14 ppc64el 14.2.0-17ubuntu3 [13.6 kB] 160s Get:29 http://ftpmaster.internal/ubuntu plucky/main ppc64el gfortran-powerpc64le-linux-gnu ppc64el 4:14.2.0-1ubuntu1 [1024 B] 160s Get:30 http://ftpmaster.internal/ubuntu plucky/main ppc64el gfortran ppc64el 4:14.2.0-1ubuntu1 [1166 B] 160s Get:31 http://ftpmaster.internal/ubuntu plucky/main ppc64el icu-devtools ppc64el 76.1-1ubuntu2 [251 kB] 160s Get:32 http://ftpmaster.internal/ubuntu plucky/main ppc64el libblas-dev ppc64el 3.12.1-2 [318 kB] 160s Get:33 http://ftpmaster.internal/ubuntu plucky/main ppc64el libbz2-dev ppc64el 1.0.8-6 [50.2 kB] 160s Get:34 http://ftpmaster.internal/ubuntu plucky/main ppc64el libdeflate-dev ppc64el 1.23-1 [70.8 kB] 160s Get:35 http://ftpmaster.internal/ubuntu plucky/main ppc64el libicu-dev ppc64el 76.1-1ubuntu2 [12.9 MB] 160s Get:36 http://ftpmaster.internal/ubuntu plucky/main ppc64el libjpeg-turbo8-dev ppc64el 2.1.5-3ubuntu2 [358 kB] 160s Get:37 http://ftpmaster.internal/ubuntu plucky/main ppc64el libjpeg8-dev ppc64el 8c-2ubuntu11 [1484 B] 160s Get:38 http://ftpmaster.internal/ubuntu plucky/main ppc64el libjpeg-dev ppc64el 8c-2ubuntu11 [1486 B] 160s Get:39 http://ftpmaster.internal/ubuntu plucky/main ppc64el liblapack-dev ppc64el 3.12.1-2 [6076 kB] 161s Get:40 http://ftpmaster.internal/ubuntu plucky/main ppc64el libncurses-dev ppc64el 6.5+20250216-2 [484 kB] 161s Get:41 http://ftpmaster.internal/ubuntu plucky/main ppc64el libpcre2-16-0 ppc64el 10.45-1 [286 kB] 161s Get:42 http://ftpmaster.internal/ubuntu plucky/main ppc64el libpcre2-32-0 ppc64el 10.45-1 [269 kB] 161s Get:43 http://ftpmaster.internal/ubuntu plucky/main ppc64el libpcre2-posix3 ppc64el 10.45-1 [7390 B] 161s Get:44 http://ftpmaster.internal/ubuntu plucky/main ppc64el libpcre2-dev ppc64el 10.45-1 [921 kB] 161s Get:45 http://ftpmaster.internal/ubuntu plucky/main ppc64el libpkgconf3 ppc64el 1.8.1-4 [37.1 kB] 161s Get:46 http://ftpmaster.internal/ubuntu plucky/main ppc64el zlib1g-dev ppc64el 1:1.3.dfsg+really1.3.1-1ubuntu1 [902 kB] 161s Get:47 http://ftpmaster.internal/ubuntu plucky/main ppc64el libpng-dev ppc64el 1.6.47-1 [323 kB] 161s Get:48 http://ftpmaster.internal/ubuntu plucky/main ppc64el libreadline-dev ppc64el 8.2-6 [230 kB] 161s Get:49 http://ftpmaster.internal/ubuntu plucky/main ppc64el liblzma-dev ppc64el 5.6.4-1 [208 kB] 161s Get:50 http://ftpmaster.internal/ubuntu plucky/main ppc64el pkgconf-bin ppc64el 1.8.1-4 [22.5 kB] 161s Get:51 http://ftpmaster.internal/ubuntu plucky/main ppc64el pkgconf ppc64el 1.8.1-4 [16.7 kB] 161s Get:52 http://ftpmaster.internal/ubuntu plucky/main ppc64el libtirpc-dev ppc64el 1.3.4+ds-1.3 [223 kB] 161s Get:53 http://ftpmaster.internal/ubuntu plucky/universe ppc64el r-base-dev all 4.4.3-1 [4176 B] 161s Get:54 http://ftpmaster.internal/ubuntu plucky/universe ppc64el pkg-r-autopkgtest all 20231212ubuntu1 [6448 B] 161s Fetched 93.6 MB in 6s (15.1 MB/s) 161s Selecting previously unselected package libisl23:ppc64el. 161s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 121017 files and directories currently installed.) 161s Preparing to unpack .../00-libisl23_0.27-1_ppc64el.deb ... 161s Unpacking libisl23:ppc64el (0.27-1) ... 161s Selecting previously unselected package libmpc3:ppc64el. 161s Preparing to unpack .../01-libmpc3_1.3.1-1build2_ppc64el.deb ... 161s Unpacking libmpc3:ppc64el (1.3.1-1build2) ... 161s Selecting previously unselected package cpp-14-powerpc64le-linux-gnu. 161s Preparing to unpack .../02-cpp-14-powerpc64le-linux-gnu_14.2.0-17ubuntu3_ppc64el.deb ... 161s Unpacking cpp-14-powerpc64le-linux-gnu (14.2.0-17ubuntu3) ... 161s Selecting previously unselected package cpp-14. 161s Preparing to unpack .../03-cpp-14_14.2.0-17ubuntu3_ppc64el.deb ... 161s Unpacking cpp-14 (14.2.0-17ubuntu3) ... 161s Selecting previously unselected package cpp-powerpc64le-linux-gnu. 161s Preparing to unpack .../04-cpp-powerpc64le-linux-gnu_4%3a14.2.0-1ubuntu1_ppc64el.deb ... 161s Unpacking cpp-powerpc64le-linux-gnu (4:14.2.0-1ubuntu1) ... 161s Selecting previously unselected package cpp. 161s Preparing to unpack .../05-cpp_4%3a14.2.0-1ubuntu1_ppc64el.deb ... 161s Unpacking cpp (4:14.2.0-1ubuntu1) ... 161s Selecting previously unselected package libcc1-0:ppc64el. 161s Preparing to unpack .../06-libcc1-0_15-20250222-0ubuntu1_ppc64el.deb ... 161s Unpacking libcc1-0:ppc64el (15-20250222-0ubuntu1) ... 161s Selecting previously unselected package libitm1:ppc64el. 161s Preparing to unpack .../07-libitm1_15-20250222-0ubuntu1_ppc64el.deb ... 161s Unpacking libitm1:ppc64el (15-20250222-0ubuntu1) ... 161s Selecting previously unselected package libasan8:ppc64el. 161s Preparing to unpack .../08-libasan8_15-20250222-0ubuntu1_ppc64el.deb ... 161s Unpacking libasan8:ppc64el (15-20250222-0ubuntu1) ... 161s Selecting previously unselected package liblsan0:ppc64el. 161s Preparing to unpack .../09-liblsan0_15-20250222-0ubuntu1_ppc64el.deb ... 161s Unpacking liblsan0:ppc64el (15-20250222-0ubuntu1) ... 161s Selecting previously unselected package libtsan2:ppc64el. 161s Preparing to unpack .../10-libtsan2_15-20250222-0ubuntu1_ppc64el.deb ... 161s Unpacking libtsan2:ppc64el (15-20250222-0ubuntu1) ... 161s Selecting previously unselected package libubsan1:ppc64el. 161s Preparing to unpack .../11-libubsan1_15-20250222-0ubuntu1_ppc64el.deb ... 161s Unpacking libubsan1:ppc64el (15-20250222-0ubuntu1) ... 162s Selecting previously unselected package libquadmath0:ppc64el. 162s Preparing to unpack .../12-libquadmath0_15-20250222-0ubuntu1_ppc64el.deb ... 162s Unpacking libquadmath0:ppc64el (15-20250222-0ubuntu1) ... 162s Selecting previously unselected package libgcc-14-dev:ppc64el. 162s Preparing to unpack .../13-libgcc-14-dev_14.2.0-17ubuntu3_ppc64el.deb ... 162s Unpacking libgcc-14-dev:ppc64el (14.2.0-17ubuntu3) ... 162s Selecting previously unselected package gcc-14-powerpc64le-linux-gnu. 162s Preparing to unpack .../14-gcc-14-powerpc64le-linux-gnu_14.2.0-17ubuntu3_ppc64el.deb ... 162s Unpacking gcc-14-powerpc64le-linux-gnu (14.2.0-17ubuntu3) ... 162s Selecting previously unselected package gcc-14. 162s Preparing to unpack .../15-gcc-14_14.2.0-17ubuntu3_ppc64el.deb ... 162s Unpacking gcc-14 (14.2.0-17ubuntu3) ... 162s Selecting previously unselected package gcc-powerpc64le-linux-gnu. 162s Preparing to unpack .../16-gcc-powerpc64le-linux-gnu_4%3a14.2.0-1ubuntu1_ppc64el.deb ... 162s Unpacking gcc-powerpc64le-linux-gnu (4:14.2.0-1ubuntu1) ... 162s Selecting previously unselected package gcc. 162s Preparing to unpack .../17-gcc_4%3a14.2.0-1ubuntu1_ppc64el.deb ... 162s Unpacking gcc (4:14.2.0-1ubuntu1) ... 162s Selecting previously unselected package libstdc++-14-dev:ppc64el. 162s Preparing to unpack .../18-libstdc++-14-dev_14.2.0-17ubuntu3_ppc64el.deb ... 162s Unpacking libstdc++-14-dev:ppc64el (14.2.0-17ubuntu3) ... 162s Selecting previously unselected package g++-14-powerpc64le-linux-gnu. 162s Preparing to unpack .../19-g++-14-powerpc64le-linux-gnu_14.2.0-17ubuntu3_ppc64el.deb ... 162s Unpacking g++-14-powerpc64le-linux-gnu (14.2.0-17ubuntu3) ... 162s Selecting previously unselected package g++-14. 162s Preparing to unpack .../20-g++-14_14.2.0-17ubuntu3_ppc64el.deb ... 162s Unpacking g++-14 (14.2.0-17ubuntu3) ... 162s Selecting previously unselected package g++-powerpc64le-linux-gnu. 162s Preparing to unpack .../21-g++-powerpc64le-linux-gnu_4%3a14.2.0-1ubuntu1_ppc64el.deb ... 162s Unpacking g++-powerpc64le-linux-gnu (4:14.2.0-1ubuntu1) ... 162s Selecting previously unselected package g++. 162s Preparing to unpack .../22-g++_4%3a14.2.0-1ubuntu1_ppc64el.deb ... 162s Unpacking g++ (4:14.2.0-1ubuntu1) ... 162s Selecting previously unselected package build-essential. 162s Preparing to unpack .../23-build-essential_12.10ubuntu1_ppc64el.deb ... 162s Unpacking build-essential (12.10ubuntu1) ... 162s Selecting previously unselected package dctrl-tools. 162s Preparing to unpack .../24-dctrl-tools_2.24-3build3_ppc64el.deb ... 162s Unpacking dctrl-tools (2.24-3build3) ... 162s Selecting previously unselected package libgfortran-14-dev:ppc64el. 162s Preparing to unpack .../25-libgfortran-14-dev_14.2.0-17ubuntu3_ppc64el.deb ... 162s Unpacking libgfortran-14-dev:ppc64el (14.2.0-17ubuntu3) ... 162s Selecting previously unselected package gfortran-14-powerpc64le-linux-gnu. 162s Preparing to unpack .../26-gfortran-14-powerpc64le-linux-gnu_14.2.0-17ubuntu3_ppc64el.deb ... 162s Unpacking gfortran-14-powerpc64le-linux-gnu (14.2.0-17ubuntu3) ... 163s Selecting previously unselected package gfortran-14. 163s Preparing to unpack .../27-gfortran-14_14.2.0-17ubuntu3_ppc64el.deb ... 163s Unpacking gfortran-14 (14.2.0-17ubuntu3) ... 163s Selecting previously unselected package gfortran-powerpc64le-linux-gnu. 163s Preparing to unpack .../28-gfortran-powerpc64le-linux-gnu_4%3a14.2.0-1ubuntu1_ppc64el.deb ... 163s Unpacking gfortran-powerpc64le-linux-gnu (4:14.2.0-1ubuntu1) ... 163s Selecting previously unselected package gfortran. 163s Preparing to unpack .../29-gfortran_4%3a14.2.0-1ubuntu1_ppc64el.deb ... 163s Unpacking gfortran (4:14.2.0-1ubuntu1) ... 163s Selecting previously unselected package icu-devtools. 163s Preparing to unpack .../30-icu-devtools_76.1-1ubuntu2_ppc64el.deb ... 163s Unpacking icu-devtools (76.1-1ubuntu2) ... 163s Selecting previously unselected package libblas-dev:ppc64el. 163s Preparing to unpack .../31-libblas-dev_3.12.1-2_ppc64el.deb ... 163s Unpacking libblas-dev:ppc64el (3.12.1-2) ... 163s Selecting previously unselected package libbz2-dev:ppc64el. 163s Preparing to unpack .../32-libbz2-dev_1.0.8-6_ppc64el.deb ... 163s Unpacking libbz2-dev:ppc64el (1.0.8-6) ... 163s Selecting previously unselected package libdeflate-dev:ppc64el. 163s Preparing to unpack .../33-libdeflate-dev_1.23-1_ppc64el.deb ... 163s Unpacking libdeflate-dev:ppc64el (1.23-1) ... 163s Selecting previously unselected package libicu-dev:ppc64el. 163s Preparing to unpack .../34-libicu-dev_76.1-1ubuntu2_ppc64el.deb ... 163s Unpacking libicu-dev:ppc64el (76.1-1ubuntu2) ... 163s Selecting previously unselected package libjpeg-turbo8-dev:ppc64el. 163s Preparing to unpack .../35-libjpeg-turbo8-dev_2.1.5-3ubuntu2_ppc64el.deb ... 163s Unpacking libjpeg-turbo8-dev:ppc64el (2.1.5-3ubuntu2) ... 163s Selecting previously unselected package libjpeg8-dev:ppc64el. 163s Preparing to unpack .../36-libjpeg8-dev_8c-2ubuntu11_ppc64el.deb ... 163s Unpacking libjpeg8-dev:ppc64el (8c-2ubuntu11) ... 163s Selecting previously unselected package libjpeg-dev:ppc64el. 163s Preparing to unpack .../37-libjpeg-dev_8c-2ubuntu11_ppc64el.deb ... 163s Unpacking libjpeg-dev:ppc64el (8c-2ubuntu11) ... 163s Selecting previously unselected package liblapack-dev:ppc64el. 163s Preparing to unpack .../38-liblapack-dev_3.12.1-2_ppc64el.deb ... 163s Unpacking liblapack-dev:ppc64el (3.12.1-2) ... 163s Selecting previously unselected package libncurses-dev:ppc64el. 163s Preparing to unpack .../39-libncurses-dev_6.5+20250216-2_ppc64el.deb ... 163s Unpacking libncurses-dev:ppc64el (6.5+20250216-2) ... 163s Selecting previously unselected package libpcre2-16-0:ppc64el. 163s Preparing to unpack .../40-libpcre2-16-0_10.45-1_ppc64el.deb ... 163s Unpacking libpcre2-16-0:ppc64el (10.45-1) ... 163s Selecting previously unselected package libpcre2-32-0:ppc64el. 163s Preparing to unpack .../41-libpcre2-32-0_10.45-1_ppc64el.deb ... 163s Unpacking libpcre2-32-0:ppc64el (10.45-1) ... 163s Selecting previously unselected package libpcre2-posix3:ppc64el. 163s Preparing to unpack .../42-libpcre2-posix3_10.45-1_ppc64el.deb ... 163s Unpacking libpcre2-posix3:ppc64el (10.45-1) ... 163s Selecting previously unselected package libpcre2-dev:ppc64el. 163s Preparing to unpack .../43-libpcre2-dev_10.45-1_ppc64el.deb ... 163s Unpacking libpcre2-dev:ppc64el (10.45-1) ... 163s Selecting previously unselected package libpkgconf3:ppc64el. 163s Preparing to unpack .../44-libpkgconf3_1.8.1-4_ppc64el.deb ... 163s Unpacking libpkgconf3:ppc64el (1.8.1-4) ... 163s Selecting previously unselected package zlib1g-dev:ppc64el. 163s Preparing to unpack .../45-zlib1g-dev_1%3a1.3.dfsg+really1.3.1-1ubuntu1_ppc64el.deb ... 163s Unpacking zlib1g-dev:ppc64el (1:1.3.dfsg+really1.3.1-1ubuntu1) ... 163s Selecting previously unselected package libpng-dev:ppc64el. 163s Preparing to unpack .../46-libpng-dev_1.6.47-1_ppc64el.deb ... 163s Unpacking libpng-dev:ppc64el (1.6.47-1) ... 163s Selecting previously unselected package libreadline-dev:ppc64el. 163s Preparing to unpack .../47-libreadline-dev_8.2-6_ppc64el.deb ... 163s Unpacking libreadline-dev:ppc64el (8.2-6) ... 163s Selecting previously unselected package liblzma-dev:ppc64el. 163s Preparing to unpack .../48-liblzma-dev_5.6.4-1_ppc64el.deb ... 163s Unpacking liblzma-dev:ppc64el (5.6.4-1) ... 163s Selecting previously unselected package pkgconf-bin. 163s Preparing to unpack .../49-pkgconf-bin_1.8.1-4_ppc64el.deb ... 163s Unpacking pkgconf-bin (1.8.1-4) ... 163s Selecting previously unselected package pkgconf:ppc64el. 163s Preparing to unpack .../50-pkgconf_1.8.1-4_ppc64el.deb ... 163s Unpacking pkgconf:ppc64el (1.8.1-4) ... 163s Selecting previously unselected package libtirpc-dev:ppc64el. 163s Preparing to unpack .../51-libtirpc-dev_1.3.4+ds-1.3_ppc64el.deb ... 163s Unpacking libtirpc-dev:ppc64el (1.3.4+ds-1.3) ... 163s Selecting previously unselected package r-base-dev. 163s Preparing to unpack .../52-r-base-dev_4.4.3-1_all.deb ... 163s Unpacking r-base-dev (4.4.3-1) ... 163s Selecting previously unselected package pkg-r-autopkgtest. 163s Preparing to unpack .../53-pkg-r-autopkgtest_20231212ubuntu1_all.deb ... 163s Unpacking pkg-r-autopkgtest (20231212ubuntu1) ... 164s Setting up libjpeg-turbo8-dev:ppc64el (2.1.5-3ubuntu2) ... 164s Setting up libncurses-dev:ppc64el (6.5+20250216-2) ... 164s Setting up libreadline-dev:ppc64el (8.2-6) ... 164s Setting up libpcre2-16-0:ppc64el (10.45-1) ... 164s Setting up libpcre2-32-0:ppc64el (10.45-1) ... 164s Setting up libtirpc-dev:ppc64el (1.3.4+ds-1.3) ... 164s Setting up libpkgconf3:ppc64el (1.8.1-4) ... 164s Setting up libquadmath0:ppc64el (15-20250222-0ubuntu1) ... 164s Setting up libmpc3:ppc64el (1.3.1-1build2) ... 164s Setting up icu-devtools (76.1-1ubuntu2) ... 164s Setting up pkgconf-bin (1.8.1-4) ... 164s Setting up liblzma-dev:ppc64el (5.6.4-1) ... 164s Setting up libubsan1:ppc64el (15-20250222-0ubuntu1) ... 164s Setting up zlib1g-dev:ppc64el (1:1.3.dfsg+really1.3.1-1ubuntu1) ... 164s Setting up libpcre2-posix3:ppc64el (10.45-1) ... 164s Setting up libasan8:ppc64el (15-20250222-0ubuntu1) ... 164s Setting up libtsan2:ppc64el (15-20250222-0ubuntu1) ... 164s Setting up libjpeg8-dev:ppc64el (8c-2ubuntu11) ... 164s Setting up libisl23:ppc64el (0.27-1) ... 164s Setting up libdeflate-dev:ppc64el (1.23-1) ... 164s Setting up libicu-dev:ppc64el (76.1-1ubuntu2) ... 164s Setting up libcc1-0:ppc64el (15-20250222-0ubuntu1) ... 164s Setting up liblsan0:ppc64el (15-20250222-0ubuntu1) ... 164s Setting up libblas-dev:ppc64el (3.12.1-2) ... 164s update-alternatives: using /usr/lib/powerpc64le-linux-gnu/blas/libblas.so to provide /usr/lib/powerpc64le-linux-gnu/libblas.so (libblas.so-powerpc64le-linux-gnu) in auto mode 164s Setting up dctrl-tools (2.24-3build3) ... 164s Setting up libitm1:ppc64el (15-20250222-0ubuntu1) ... 164s Setting up libbz2-dev:ppc64el (1.0.8-6) ... 164s Setting up libpcre2-dev:ppc64el (10.45-1) ... 164s Setting up libpng-dev:ppc64el (1.6.47-1) ... 164s Setting up libjpeg-dev:ppc64el (8c-2ubuntu11) ... 164s Setting up pkgconf:ppc64el (1.8.1-4) ... 164s Setting up liblapack-dev:ppc64el (3.12.1-2) ... 164s update-alternatives: using /usr/lib/powerpc64le-linux-gnu/lapack/liblapack.so to provide /usr/lib/powerpc64le-linux-gnu/liblapack.so (liblapack.so-powerpc64le-linux-gnu) in auto mode 164s Setting up cpp-14-powerpc64le-linux-gnu (14.2.0-17ubuntu3) ... 164s Setting up cpp-14 (14.2.0-17ubuntu3) ... 164s Setting up libgcc-14-dev:ppc64el (14.2.0-17ubuntu3) ... 164s Setting up libstdc++-14-dev:ppc64el (14.2.0-17ubuntu3) ... 164s Setting up cpp-powerpc64le-linux-gnu (4:14.2.0-1ubuntu1) ... 164s Setting up gcc-14-powerpc64le-linux-gnu (14.2.0-17ubuntu3) ... 164s Setting up libgfortran-14-dev:ppc64el (14.2.0-17ubuntu3) ... 164s Setting up g++-14-powerpc64le-linux-gnu (14.2.0-17ubuntu3) ... 164s Setting up gcc-14 (14.2.0-17ubuntu3) ... 164s Setting up gcc-powerpc64le-linux-gnu (4:14.2.0-1ubuntu1) ... 164s Setting up cpp (4:14.2.0-1ubuntu1) ... 164s Setting up g++-14 (14.2.0-17ubuntu3) ... 164s Setting up gfortran-14-powerpc64le-linux-gnu (14.2.0-17ubuntu3) ... 164s Setting up gfortran-14 (14.2.0-17ubuntu3) ... 164s Setting up g++-powerpc64le-linux-gnu (4:14.2.0-1ubuntu1) ... 164s Setting up gcc (4:14.2.0-1ubuntu1) ... 164s Setting up gfortran-powerpc64le-linux-gnu (4:14.2.0-1ubuntu1) ... 164s Setting up g++ (4:14.2.0-1ubuntu1) ... 164s update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode 164s Setting up build-essential (12.10ubuntu1) ... 164s Setting up gfortran (4:14.2.0-1ubuntu1) ... 164s update-alternatives: using /usr/bin/gfortran to provide /usr/bin/f95 (f95) in auto mode 164s update-alternatives: warning: skip creation of /usr/share/man/man1/f95.1.gz because associated file /usr/share/man/man1/gfortran.1.gz (of link group f95) doesn't exist 164s update-alternatives: using /usr/bin/gfortran to provide /usr/bin/f77 (f77) in auto mode 164s update-alternatives: warning: skip creation of /usr/share/man/man1/f77.1.gz because associated file /usr/share/man/man1/gfortran.1.gz (of link group f77) doesn't exist 164s Setting up r-base-dev (4.4.3-1) ... 164s Setting up pkg-r-autopkgtest (20231212ubuntu1) ... 164s Processing triggers for libc-bin (2.41-1ubuntu1) ... 164s Processing triggers for man-db (2.13.0-1) ... 165s Processing triggers for install-info (7.1.1-1) ... 166s autopkgtest [10:54:31]: test pkg-r-autopkgtest: /usr/share/dh-r/pkg-r-autopkgtest 166s autopkgtest [10:54:31]: test pkg-r-autopkgtest: [----------------------- 166s Test: Try to load the R library fansi 166s 166s R version 4.4.3 (2025-02-28) -- "Trophy Case" 166s Copyright (C) 2025 The R Foundation for Statistical Computing 166s Platform: powerpc64le-unknown-linux-gnu 166s 166s R is free software and comes with ABSOLUTELY NO WARRANTY. 166s You are welcome to redistribute it under certain conditions. 166s Type 'license()' or 'licence()' for distribution details. 166s 166s R is a collaborative project with many contributors. 166s Type 'contributors()' for more information and 166s 'citation()' on how to cite R or R packages in publications. 166s 166s Type 'demo()' for some demos, 'help()' for on-line help, or 166s 'help.start()' for an HTML browser interface to help. 166s Type 'q()' to quit R. 166s 166s > library('fansi') 166s > 166s > 166s Other tests are currently unsupported! 166s They will be progressively added. 166s autopkgtest [10:54:31]: test pkg-r-autopkgtest: -----------------------] 167s autopkgtest [10:54:32]: test pkg-r-autopkgtest: - - - - - - - - - - results - - - - - - - - - - 167s pkg-r-autopkgtest PASS 167s autopkgtest [10:54:32]: @@@@@@@@@@@@@@@@@@@@ summary 167s run-unit-test FAIL non-zero exit status 1 167s pkg-r-autopkgtest PASS 185s nova [W] Using flock in prodstack6-ppc64el 185s Creating nova instance adt-plucky-ppc64el-r-cran-fansi-20250313-105145-juju-7f2275-prod-proposed-migration-environment-15-e3bdfb79-8ecc-49f4-8017-a4fb7e2d64f7 from image adt/ubuntu-plucky-ppc64el-server-20250313.img (UUID 039b69e3-5f2d-4af8-9d4f-d440c2e5edc9)... 185s nova [W] Timed out waiting for 10f72da7-efd2-43f5-8467-838f018f45f0 to get deleted.