0s autopkgtest [10:42:55]: starting date and time: 2025-03-13 10:42:55+0000 0s autopkgtest [10:42:55]: git checkout: 325255d2 Merge branch 'pin-any-arch' into 'ubuntu/production' 0s autopkgtest [10:42:55]: host juju-7f2275-prod-proposed-migration-environment-20; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.bi41m7gk/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-s390x --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-20@bos03-s390x-23.secgroup --name adt-plucky-s390x-r-cran-fansi-20250313-104255-juju-7f2275-prod-proposed-migration-environment-20-31b32d2a-9b52-4f16-b79e-3232c6ef060b --image adt/ubuntu-plucky-s390x-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-20 --net-id=net_prod-proposed-migration-s390x -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/ 323s autopkgtest [10:48:18]: testbed dpkg architecture: s390x 323s autopkgtest [10:48:18]: testbed apt version: 2.9.32ubuntu1 323s autopkgtest [10:48:18]: @@@@@@@@@@@@@@@@@@@@ test bed setup 323s autopkgtest [10:48:18]: testbed release detected to be: None 324s autopkgtest [10:48:19]: updating testbed package index (apt update) 324s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [110 kB] 324s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 325s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 325s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 325s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [43.9 kB] 325s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [396 kB] 325s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [11.5 kB] 325s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x Packages [57.9 kB] 325s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/universe s390x Packages [313 kB] 325s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse s390x Packages [2512 B] 325s Fetched 936 kB in 1s (1154 kB/s) 325s Reading package lists... 326s Reading package lists... 326s Building dependency tree... 326s Reading state information... 326s Calculating upgrade... 326s Calculating upgrade... 326s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 326s Reading package lists... 326s Building dependency tree... 326s Reading state information... 327s Solving dependencies... 327s The following packages will be REMOVED: 327s linux-image-6.11.0-8-generic* 327s 0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded. 327s After this operation, 10.5 MB disk space will be freed. 327s (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 ... 81495 files and directories currently installed.) 327s Removing linux-image-6.11.0-8-generic (6.11.0-8.8) ... 327s I: /boot/vmlinuz.old is now a symlink to vmlinuz-6.14.0-7-generic 327s I: /boot/initrd.img.old is now a symlink to initrd.img-6.14.0-7-generic 327s /etc/kernel/postrm.d/initramfs-tools: 327s update-initramfs: Deleting /boot/initrd.img-6.11.0-8-generic 327s /etc/kernel/postrm.d/zz-zipl: 327s Using config file '/etc/zipl.conf' 327s Building bootmap in '/boot' 327s Adding IPL section 'ubuntu' (default) 327s Preparing boot device for LD-IPL: vda (0000). 327s Done. 327s (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 ... 81491 files and directories currently installed.) 327s Purging configuration files for linux-image-6.11.0-8-generic (6.11.0-8.8) ... 327s rmdir: failed to remove '/lib/modules/6.11.0-8-generic': Directory not empty 327s autopkgtest [10:48:22]: upgrading testbed (apt dist-upgrade and autopurge) 328s Reading package lists... 328s Building dependency tree... 328s Reading state information... 328s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 328s Starting 2 pkgProblemResolver with broken count: 0 328s Done 328s Entering ResolveByKeep 328s 328s Calculating upgrade... 328s The following packages were automatically installed and are no longer required: 328s libnsl2 libpython3.12-minimal libpython3.12-stdlib libpython3.12t64 328s linux-headers-6.11.0-8 linux-headers-6.11.0-8-generic 328s linux-modules-6.11.0-8-generic linux-tools-6.11.0-8 328s linux-tools-6.11.0-8-generic 328s Use 'sudo apt autoremove' to remove them. 328s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 329s Reading package lists... 329s Building dependency tree... 329s Reading state information... 329s Starting pkgProblemResolver with broken count: 0 329s Starting 2 pkgProblemResolver with broken count: 0 329s Done 329s Solving dependencies... 329s The following packages will be REMOVED: 329s libnsl2* libpython3.12-minimal* libpython3.12-stdlib* libpython3.12t64* 329s linux-headers-6.11.0-8* linux-headers-6.11.0-8-generic* 329s linux-modules-6.11.0-8-generic* linux-tools-6.11.0-8* 329s linux-tools-6.11.0-8-generic* 329s 0 upgraded, 0 newly installed, 9 to remove and 0 not upgraded. 329s After this operation, 167 MB disk space will be freed. 329s (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 ... 81491 files and directories currently installed.) 329s Removing linux-tools-6.11.0-8-generic (6.11.0-8.8) ... 329s Removing linux-tools-6.11.0-8 (6.11.0-8.8) ... 329s Removing libpython3.12t64:s390x (3.12.9-1) ... 329s Removing libpython3.12-stdlib:s390x (3.12.9-1) ... 329s Removing libnsl2:s390x (1.3.0-3build3) ... 329s Removing libpython3.12-minimal:s390x (3.12.9-1) ... 329s Removing linux-headers-6.11.0-8-generic (6.11.0-8.8) ... 329s Removing linux-headers-6.11.0-8 (6.11.0-8.8) ... 330s Removing linux-modules-6.11.0-8-generic (6.11.0-8.8) ... 330s Processing triggers for libc-bin (2.41-1ubuntu1) ... 330s (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 ... 56391 files and directories currently installed.) 330s Purging configuration files for libpython3.12-minimal:s390x (3.12.9-1) ... 330s Purging configuration files for linux-modules-6.11.0-8-generic (6.11.0-8.8) ... 331s autopkgtest [10:48:26]: rebooting testbed after setup commands that affected boot 348s autopkgtest [10:48:43]: testbed running kernel: Linux 6.14.0-7-generic #7-Ubuntu SMP Fri Feb 28 10:57:32 UTC 2025 350s autopkgtest [10:48:45]: @@@@@@@@@@@@@@@@@@@@ apt-source r-cran-fansi 352s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed/universe r-cran-fansi 1.0.6-1 (dsc) [2110 B] 352s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/universe r-cran-fansi 1.0.6-1 (tar) [482 kB] 352s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/universe r-cran-fansi 1.0.6-1 (diff) [3156 B] 352s gpgv: Signature made Mon Mar 10 04:57:09 2025 UTC 352s gpgv: using RSA key 73471499CC60ED9EEE805946C5BD6C8F2295D502 352s gpgv: issuer "plessy@debian.org" 352s gpgv: Can't check signature: No public key 352s dpkg-source: warning: cannot verify inline signature for ./r-cran-fansi_1.0.6-1.dsc: no acceptable signature found 352s autopkgtest [10:48:47]: testing package r-cran-fansi version 1.0.6-1 352s autopkgtest [10:48:47]: build not needed 357s autopkgtest [10:48:52]: test run-unit-test: preparing testbed 358s Reading package lists... 358s Building dependency tree... 358s Reading state information... 358s Starting pkgProblemResolver with broken count: 0 358s Starting 2 pkgProblemResolver with broken count: 0 358s Done 358s The following NEW packages will be installed: 358s fontconfig fontconfig-config fonts-dejavu-core fonts-dejavu-mono 358s fonts-font-awesome fonts-glyphicons-halflings fonts-mathjax 358s javascript-common libblas3 libcairo2 libdatrie1 libdeflate0 libfontconfig1 358s libfreetype6 libgfortran5 libgomp1 libgraphite2-3 libharfbuzz0b libice6 358s libjbig0 libjpeg-turbo8 libjpeg8 libjs-bootstrap libjs-bootstrap4 libjs-d3 358s libjs-es5-shim libjs-highlight.js libjs-jquery libjs-jquery-datatables 358s libjs-jquery-selectize.js libjs-jquery-ui libjs-json libjs-mathjax 358s libjs-microplugin.js libjs-modernizr libjs-popper.js libjs-prettify 358s libjs-sifter.js libjs-twitter-bootstrap-datepicker liblapack3 liblua5.4-0 358s libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 libpaper-utils 358s libpaper2 libpixman-1-0 libsharpyuv0 libsm6 libtcl8.6 libthai-data libthai0 358s libtiff6 libtk8.6 libwebp7 libxcb-render0 libxcb-shm0 libxft2 libxrender1 358s libxss1 libxt6t64 littler node-bootstrap-sass node-html5shiv 358s node-normalize.css pandoc pandoc-data r-base-core r-cran-base64enc 358s r-cran-bslib r-cran-cachem r-cran-cli r-cran-commonmark r-cran-crayon 358s r-cran-diffobj r-cran-digest r-cran-evaluate r-cran-fansi r-cran-fastmap 358s r-cran-fontawesome r-cran-fs r-cran-glue r-cran-highr r-cran-htmltools 358s r-cran-httpuv r-cran-jquerylib r-cran-jsonlite r-cran-knitr r-cran-later 358s r-cran-lifecycle r-cran-littler r-cran-magrittr r-cran-memoise r-cran-mime 358s r-cran-pkgkitten r-cran-promises r-cran-r6 r-cran-rappdirs r-cran-rcpp 358s r-cran-rlang r-cran-rmarkdown r-cran-sass r-cran-shiny r-cran-sourcetools 358s r-cran-tinytex r-cran-unitizer r-cran-withr r-cran-xfun r-cran-xtable 358s r-cran-yaml unzip x11-common xdg-utils zip 358s 0 upgraded, 114 newly installed, 0 to remove and 0 not upgraded. 358s Need to get 130 MB of archives. 358s After this operation, 572 MB of additional disk space will be used. 358s Get:1 http://ftpmaster.internal/ubuntu plucky/main s390x libfreetype6 s390x 2.13.3+dfsg-1 [431 kB] 359s Get:2 http://ftpmaster.internal/ubuntu plucky/main s390x fonts-dejavu-mono all 2.37-8 [502 kB] 359s Get:3 http://ftpmaster.internal/ubuntu plucky/main s390x fonts-dejavu-core all 2.37-8 [835 kB] 359s Get:4 http://ftpmaster.internal/ubuntu plucky/main s390x fontconfig-config s390x 2.15.0-2ubuntu1 [37.5 kB] 359s Get:5 http://ftpmaster.internal/ubuntu plucky/main s390x libfontconfig1 s390x 2.15.0-2ubuntu1 [150 kB] 359s Get:6 http://ftpmaster.internal/ubuntu plucky/main s390x fontconfig s390x 2.15.0-2ubuntu1 [191 kB] 359s Get:7 http://ftpmaster.internal/ubuntu plucky/main s390x fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 359s Get:8 http://ftpmaster.internal/ubuntu plucky/universe s390x fonts-glyphicons-halflings all 1.009~3.4.1+dfsg-3 [118 kB] 359s Get:9 http://ftpmaster.internal/ubuntu plucky/main s390x fonts-mathjax all 2.7.9+dfsg-1 [2208 kB] 360s Get:10 http://ftpmaster.internal/ubuntu plucky/main s390x javascript-common all 12 [5216 B] 360s Get:11 http://ftpmaster.internal/ubuntu plucky/main s390x libblas3 s390x 3.12.1-2 [252 kB] 360s Get:12 http://ftpmaster.internal/ubuntu plucky/main s390x libpixman-1-0 s390x 0.44.0-3 [201 kB] 360s Get:13 http://ftpmaster.internal/ubuntu plucky/main s390x libxcb-render0 s390x 1.17.0-2 [17.0 kB] 360s Get:14 http://ftpmaster.internal/ubuntu plucky/main s390x libxcb-shm0 s390x 1.17.0-2 [5862 B] 360s Get:15 http://ftpmaster.internal/ubuntu plucky/main s390x libxrender1 s390x 1:0.9.10-1.1build1 [20.4 kB] 360s Get:16 http://ftpmaster.internal/ubuntu plucky/main s390x libcairo2 s390x 1.18.2-2 [580 kB] 360s Get:17 http://ftpmaster.internal/ubuntu plucky/main s390x libdatrie1 s390x 0.2.13-3build1 [20.6 kB] 360s Get:18 http://ftpmaster.internal/ubuntu plucky/main s390x libdeflate0 s390x 1.23-1 [46.1 kB] 360s Get:19 http://ftpmaster.internal/ubuntu plucky/main s390x libgfortran5 s390x 15-20250222-0ubuntu1 [620 kB] 360s Get:20 http://ftpmaster.internal/ubuntu plucky/main s390x libgomp1 s390x 15-20250222-0ubuntu1 [152 kB] 360s Get:21 http://ftpmaster.internal/ubuntu plucky/main s390x libgraphite2-3 s390x 1.3.14-2ubuntu1 [79.8 kB] 360s Get:22 http://ftpmaster.internal/ubuntu plucky/main s390x libharfbuzz0b s390x 10.2.0-1 [538 kB] 360s Get:23 http://ftpmaster.internal/ubuntu plucky/main s390x x11-common all 1:7.7+23ubuntu3 [21.7 kB] 360s Get:24 http://ftpmaster.internal/ubuntu plucky/main s390x libice6 s390x 2:1.1.1-1 [45.4 kB] 360s Get:25 http://ftpmaster.internal/ubuntu plucky/main s390x libjpeg-turbo8 s390x 2.1.5-3ubuntu2 [147 kB] 360s Get:26 http://ftpmaster.internal/ubuntu plucky/main s390x libjpeg8 s390x 8c-2ubuntu11 [2146 B] 360s Get:27 http://ftpmaster.internal/ubuntu plucky/universe s390x libjs-bootstrap all 3.4.1+dfsg-3 [129 kB] 360s Get:28 http://ftpmaster.internal/ubuntu plucky/universe s390x libjs-popper.js all 1.16.1+ds-6 [54.1 kB] 360s Get:29 http://ftpmaster.internal/ubuntu plucky/universe s390x libjs-bootstrap4 all 4.6.1+dfsg1-4 [537 kB] 360s Get:30 http://ftpmaster.internal/ubuntu plucky/universe s390x libjs-d3 all 3.5.17-4 [132 kB] 360s Get:31 http://ftpmaster.internal/ubuntu plucky/universe s390x libjs-es5-shim all 4.6.7-2 [39.8 kB] 360s Get:32 http://ftpmaster.internal/ubuntu plucky/universe s390x libjs-highlight.js all 9.18.5+dfsg1-2 [385 kB] 361s Get:33 http://ftpmaster.internal/ubuntu plucky/main s390x libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 361s Get:34 http://ftpmaster.internal/ubuntu plucky/universe s390x libjs-jquery-datatables all 1.11.5+dfsg-2 [146 kB] 361s Get:35 http://ftpmaster.internal/ubuntu plucky/universe s390x libjs-sifter.js all 0.6.0+dfsg-3 [12.6 kB] 361s Get:36 http://ftpmaster.internal/ubuntu plucky/universe s390x libjs-microplugin.js all 0.0.3+dfsg-1.1 [3712 B] 361s Get:37 http://ftpmaster.internal/ubuntu plucky/universe s390x libjs-jquery-selectize.js all 0.12.6+dfsg-1.1 [51.0 kB] 361s Get:38 http://ftpmaster.internal/ubuntu plucky/universe s390x libjs-jquery-ui all 1.13.2+dfsg-1 [252 kB] 361s Get:39 http://ftpmaster.internal/ubuntu plucky/universe s390x libjs-json all 0~20221030+~1.0.8-1 [20.6 kB] 361s Get:40 http://ftpmaster.internal/ubuntu plucky/universe s390x libjs-prettify all 2015.12.04+dfsg-1.1 [39.3 kB] 361s Get:41 http://ftpmaster.internal/ubuntu plucky/main s390x liblapack3 s390x 3.12.1-2 [2971 kB] 361s Get:42 http://ftpmaster.internal/ubuntu plucky/main s390x liblua5.4-0 s390x 5.4.7-1 [174 kB] 361s Get:43 http://ftpmaster.internal/ubuntu plucky/main s390x libthai-data all 0.1.29-2build1 [158 kB] 361s Get:44 http://ftpmaster.internal/ubuntu plucky/main s390x libthai0 s390x 0.1.29-2build1 [20.7 kB] 361s Get:45 http://ftpmaster.internal/ubuntu plucky/main s390x libpango-1.0-0 s390x 1.56.1-1 [253 kB] 361s Get:46 http://ftpmaster.internal/ubuntu plucky/main s390x libpangoft2-1.0-0 s390x 1.56.1-1 [50.3 kB] 361s Get:47 http://ftpmaster.internal/ubuntu plucky/main s390x libpangocairo-1.0-0 s390x 1.56.1-1 [28.3 kB] 361s Get:48 http://ftpmaster.internal/ubuntu plucky/main s390x libpaper2 s390x 2.2.5-0.3 [17.2 kB] 361s Get:49 http://ftpmaster.internal/ubuntu plucky/main s390x libpaper-utils s390x 2.2.5-0.3 [15.3 kB] 361s Get:50 http://ftpmaster.internal/ubuntu plucky/main s390x libsharpyuv0 s390x 1.5.0-0.1 [16.7 kB] 361s Get:51 http://ftpmaster.internal/ubuntu plucky/main s390x libsm6 s390x 2:1.2.4-1 [18.4 kB] 361s Get:52 http://ftpmaster.internal/ubuntu plucky/main s390x libtcl8.6 s390x 8.6.16+dfsg-1 [1034 kB] 361s Get:53 http://ftpmaster.internal/ubuntu plucky/main s390x libjbig0 s390x 2.1-6.1ubuntu2 [33.1 kB] 361s Get:54 http://ftpmaster.internal/ubuntu plucky/main s390x libwebp7 s390x 1.5.0-0.1 [210 kB] 361s Get:55 http://ftpmaster.internal/ubuntu plucky/main s390x libtiff6 s390x 4.5.1+git230720-4ubuntu4 [217 kB] 361s Get:56 http://ftpmaster.internal/ubuntu plucky/main s390x libxft2 s390x 2.3.6-1build1 [49.6 kB] 361s Get:57 http://ftpmaster.internal/ubuntu plucky/main s390x libxss1 s390x 1:1.2.3-1build3 [7396 B] 361s Get:58 http://ftpmaster.internal/ubuntu plucky/main s390x libtk8.6 s390x 8.6.16-1 [830 kB] 362s Get:59 http://ftpmaster.internal/ubuntu plucky/main s390x libxt6t64 s390x 1:1.2.1-1.2build1 [184 kB] 362s Get:60 http://ftpmaster.internal/ubuntu plucky/main s390x zip s390x 3.0-14ubuntu2 [187 kB] 362s Get:61 http://ftpmaster.internal/ubuntu plucky/main s390x unzip s390x 6.0-28ubuntu6 [186 kB] 362s Get:62 http://ftpmaster.internal/ubuntu plucky/main s390x xdg-utils all 1.2.1-2ubuntu1 [66.0 kB] 362s Get:63 http://ftpmaster.internal/ubuntu plucky/universe s390x r-base-core s390x 4.4.3-1 [28.6 MB] 364s Get:64 http://ftpmaster.internal/ubuntu plucky/universe s390x r-cran-littler s390x 0.3.20-2 [95.0 kB] 364s Get:65 http://ftpmaster.internal/ubuntu plucky/universe s390x littler all 0.3.20-2 [2554 B] 364s Get:66 http://ftpmaster.internal/ubuntu plucky/universe s390x node-bootstrap-sass all 3.4.3-2 [187 kB] 364s Get:67 http://ftpmaster.internal/ubuntu plucky/universe s390x node-html5shiv all 3.7.3+dfsg-5 [13.5 kB] 364s Get:68 http://ftpmaster.internal/ubuntu plucky/universe s390x node-normalize.css all 8.0.1-5 [10.8 kB] 364s Get:69 http://ftpmaster.internal/ubuntu plucky/universe s390x pandoc-data all 3.1.11.1-3build1 [78.8 kB] 364s Get:70 http://ftpmaster.internal/ubuntu plucky/universe s390x pandoc s390x 3.1.11.1+ds-2 [52.5 MB] 368s Get:71 http://ftpmaster.internal/ubuntu plucky/universe s390x r-cran-base64enc s390x 0.1-3-3 [28.0 kB] 368s Get:72 http://ftpmaster.internal/ubuntu plucky/universe s390x r-cran-rlang s390x 1.1.5-1 [1713 kB] 368s Get:73 http://ftpmaster.internal/ubuntu plucky/universe s390x r-cran-fastmap s390x 1.2.0-1 [72.4 kB] 368s Get:74 http://ftpmaster.internal/ubuntu plucky/universe s390x r-cran-cachem s390x 1.1.0-1 [74.0 kB] 368s Get:75 http://ftpmaster.internal/ubuntu plucky/universe s390x r-cran-digest s390x 0.6.37-1 [205 kB] 368s Get:76 http://ftpmaster.internal/ubuntu plucky/universe s390x r-cran-htmltools s390x 0.5.8.1-1 [372 kB] 368s Get:77 http://ftpmaster.internal/ubuntu plucky/universe s390x r-cran-jquerylib all 0.1.4+dfsg-4 [13.5 kB] 368s Get:78 http://ftpmaster.internal/ubuntu plucky/universe s390x r-cran-jsonlite s390x 1.9.1+dfsg-1 [447 kB] 368s Get:79 http://ftpmaster.internal/ubuntu plucky/universe s390x r-cran-cli s390x 3.6.4-1 [1379 kB] 368s Get:80 http://ftpmaster.internal/ubuntu plucky/universe s390x r-cran-glue s390x 1.8.0-1 [164 kB] 368s Get:81 http://ftpmaster.internal/ubuntu plucky/universe s390x r-cran-lifecycle all 1.0.4+dfsg-1 [110 kB] 368s Get:82 http://ftpmaster.internal/ubuntu plucky/universe s390x r-cran-memoise all 2.0.1-1 [53.9 kB] 368s Get:83 http://ftpmaster.internal/ubuntu plucky/universe s390x r-cran-mime s390x 0.12-2 [35.8 kB] 368s Get:84 http://ftpmaster.internal/ubuntu plucky/universe s390x r-cran-fs s390x 1.6.5+dfsg-1 [245 kB] 368s Get:85 http://ftpmaster.internal/ubuntu plucky/universe s390x r-cran-r6 all 2.6.1-1 [101 kB] 368s Get:86 http://ftpmaster.internal/ubuntu plucky/universe s390x r-cran-rappdirs s390x 0.3.3-1 [47.5 kB] 368s Get:87 http://ftpmaster.internal/ubuntu plucky/universe s390x r-cran-sass s390x 0.4.9+dfsg-1 [1019 kB] 368s Get:88 http://ftpmaster.internal/ubuntu plucky/universe s390x r-cran-bslib all 0.8.0+dfsg-1 [4294 kB] 369s Get:89 http://ftpmaster.internal/ubuntu plucky/universe s390x r-cran-commonmark s390x 1.9.2-2 [142 kB] 369s Get:90 http://ftpmaster.internal/ubuntu plucky/universe s390x r-cran-crayon all 1.5.3-1 [165 kB] 369s Get:91 http://ftpmaster.internal/ubuntu plucky/universe s390x r-cran-diffobj s390x 0.3.5-1 [1115 kB] 369s Get:92 http://ftpmaster.internal/ubuntu plucky/universe s390x r-cran-evaluate all 1.0.3-1 [114 kB] 369s Get:93 http://ftpmaster.internal/ubuntu plucky-proposed/universe s390x r-cran-fansi s390x 1.0.6-1 [625 kB] 369s Get:94 http://ftpmaster.internal/ubuntu plucky/universe s390x r-cran-fontawesome all 0.5.3-1 [1331 kB] 369s Get:95 http://ftpmaster.internal/ubuntu plucky/universe s390x r-cran-xfun s390x 0.51+dfsg-1 [574 kB] 369s Get:96 http://ftpmaster.internal/ubuntu plucky/universe s390x r-cran-highr all 0.11+dfsg-1 [38.5 kB] 369s Get:97 http://ftpmaster.internal/ubuntu plucky/universe s390x r-cran-pkgkitten all 0.2.4-1 [27.2 kB] 369s Get:98 http://ftpmaster.internal/ubuntu plucky/universe s390x r-cran-rcpp s390x 1.0.14-1 [2003 kB] 369s Get:99 http://ftpmaster.internal/ubuntu plucky/universe s390x r-cran-later s390x 1.4.1+dfsg-1 [148 kB] 369s Get:100 http://ftpmaster.internal/ubuntu plucky/universe s390x r-cran-magrittr s390x 2.0.3-1 [154 kB] 369s Get:101 http://ftpmaster.internal/ubuntu plucky/universe s390x r-cran-promises s390x 1.3.2+dfsg-1 [296 kB] 369s Get:102 http://ftpmaster.internal/ubuntu plucky/universe s390x r-cran-httpuv s390x 1.6.15+dfsg-1 [507 kB] 370s Get:103 http://ftpmaster.internal/ubuntu plucky/universe s390x r-cran-yaml s390x 2.3.10-1 [113 kB] 370s Get:104 http://ftpmaster.internal/ubuntu plucky/main s390x libjs-mathjax all 2.7.9+dfsg-1 [5665 kB] 370s Get:105 http://ftpmaster.internal/ubuntu plucky/universe s390x r-cran-knitr all 1.49+dfsg-1 [859 kB] 370s Get:106 http://ftpmaster.internal/ubuntu plucky/universe s390x r-cran-tinytex all 0.56-1 [148 kB] 370s Get:107 http://ftpmaster.internal/ubuntu plucky/universe s390x libjs-modernizr all 3.13.0-0.1 [101 kB] 370s Get:108 http://ftpmaster.internal/ubuntu plucky/universe s390x r-cran-xtable all 1:1.8-4-2 [689 kB] 370s Get:109 http://ftpmaster.internal/ubuntu plucky/universe s390x r-cran-sourcetools s390x 0.1.7-1-1 [47.1 kB] 370s Get:110 http://ftpmaster.internal/ubuntu plucky/universe s390x r-cran-withr all 3.0.2+dfsg-1 [214 kB] 370s Get:111 http://ftpmaster.internal/ubuntu plucky/universe s390x libjs-twitter-bootstrap-datepicker all 1.3.1+dfsg1-4.1 [28.5 kB] 370s Get:112 http://ftpmaster.internal/ubuntu plucky/universe s390x r-cran-shiny all 1.10.0+dfsg-2 [3124 kB] 370s Get:113 http://ftpmaster.internal/ubuntu plucky/universe s390x r-cran-rmarkdown all 2.29+dfsg-1 [1501 kB] 370s Get:114 http://ftpmaster.internal/ubuntu plucky/universe s390x r-cran-unitizer all 1.4.21-1 [1428 kB] 371s Preconfiguring packages ... 371s Fetched 130 MB in 12s (10.4 MB/s) 371s Selecting previously unselected package libfreetype6:s390x. 371s (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 ... 56389 files and directories currently installed.) 371s Preparing to unpack .../000-libfreetype6_2.13.3+dfsg-1_s390x.deb ... 371s Unpacking libfreetype6:s390x (2.13.3+dfsg-1) ... 371s Selecting previously unselected package fonts-dejavu-mono. 371s Preparing to unpack .../001-fonts-dejavu-mono_2.37-8_all.deb ... 371s Unpacking fonts-dejavu-mono (2.37-8) ... 371s Selecting previously unselected package fonts-dejavu-core. 371s Preparing to unpack .../002-fonts-dejavu-core_2.37-8_all.deb ... 371s Unpacking fonts-dejavu-core (2.37-8) ... 371s Selecting previously unselected package fontconfig-config. 371s Preparing to unpack .../003-fontconfig-config_2.15.0-2ubuntu1_s390x.deb ... 371s Unpacking fontconfig-config (2.15.0-2ubuntu1) ... 371s Selecting previously unselected package libfontconfig1:s390x. 371s Preparing to unpack .../004-libfontconfig1_2.15.0-2ubuntu1_s390x.deb ... 371s Unpacking libfontconfig1:s390x (2.15.0-2ubuntu1) ... 371s Selecting previously unselected package fontconfig. 371s Preparing to unpack .../005-fontconfig_2.15.0-2ubuntu1_s390x.deb ... 371s Unpacking fontconfig (2.15.0-2ubuntu1) ... 371s Selecting previously unselected package fonts-font-awesome. 371s Preparing to unpack .../006-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 371s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 371s Selecting previously unselected package fonts-glyphicons-halflings. 371s Preparing to unpack .../007-fonts-glyphicons-halflings_1.009~3.4.1+dfsg-3_all.deb ... 371s Unpacking fonts-glyphicons-halflings (1.009~3.4.1+dfsg-3) ... 371s Selecting previously unselected package fonts-mathjax. 371s Preparing to unpack .../008-fonts-mathjax_2.7.9+dfsg-1_all.deb ... 371s Unpacking fonts-mathjax (2.7.9+dfsg-1) ... 371s Selecting previously unselected package javascript-common. 371s Preparing to unpack .../009-javascript-common_12_all.deb ... 371s Unpacking javascript-common (12) ... 371s Selecting previously unselected package libblas3:s390x. 371s Preparing to unpack .../010-libblas3_3.12.1-2_s390x.deb ... 371s Unpacking libblas3:s390x (3.12.1-2) ... 371s Selecting previously unselected package libpixman-1-0:s390x. 371s Preparing to unpack .../011-libpixman-1-0_0.44.0-3_s390x.deb ... 371s Unpacking libpixman-1-0:s390x (0.44.0-3) ... 371s Selecting previously unselected package libxcb-render0:s390x. 371s Preparing to unpack .../012-libxcb-render0_1.17.0-2_s390x.deb ... 371s Unpacking libxcb-render0:s390x (1.17.0-2) ... 371s Selecting previously unselected package libxcb-shm0:s390x. 371s Preparing to unpack .../013-libxcb-shm0_1.17.0-2_s390x.deb ... 371s Unpacking libxcb-shm0:s390x (1.17.0-2) ... 371s Selecting previously unselected package libxrender1:s390x. 371s Preparing to unpack .../014-libxrender1_1%3a0.9.10-1.1build1_s390x.deb ... 371s Unpacking libxrender1:s390x (1:0.9.10-1.1build1) ... 371s Selecting previously unselected package libcairo2:s390x. 371s Preparing to unpack .../015-libcairo2_1.18.2-2_s390x.deb ... 371s Unpacking libcairo2:s390x (1.18.2-2) ... 371s Selecting previously unselected package libdatrie1:s390x. 371s Preparing to unpack .../016-libdatrie1_0.2.13-3build1_s390x.deb ... 371s Unpacking libdatrie1:s390x (0.2.13-3build1) ... 371s Selecting previously unselected package libdeflate0:s390x. 371s Preparing to unpack .../017-libdeflate0_1.23-1_s390x.deb ... 371s Unpacking libdeflate0:s390x (1.23-1) ... 371s Selecting previously unselected package libgfortran5:s390x. 371s Preparing to unpack .../018-libgfortran5_15-20250222-0ubuntu1_s390x.deb ... 371s Unpacking libgfortran5:s390x (15-20250222-0ubuntu1) ... 371s Selecting previously unselected package libgomp1:s390x. 371s Preparing to unpack .../019-libgomp1_15-20250222-0ubuntu1_s390x.deb ... 371s Unpacking libgomp1:s390x (15-20250222-0ubuntu1) ... 371s Selecting previously unselected package libgraphite2-3:s390x. 371s Preparing to unpack .../020-libgraphite2-3_1.3.14-2ubuntu1_s390x.deb ... 371s Unpacking libgraphite2-3:s390x (1.3.14-2ubuntu1) ... 371s Selecting previously unselected package libharfbuzz0b:s390x. 371s Preparing to unpack .../021-libharfbuzz0b_10.2.0-1_s390x.deb ... 371s Unpacking libharfbuzz0b:s390x (10.2.0-1) ... 371s Selecting previously unselected package x11-common. 371s Preparing to unpack .../022-x11-common_1%3a7.7+23ubuntu3_all.deb ... 371s Unpacking x11-common (1:7.7+23ubuntu3) ... 371s Selecting previously unselected package libice6:s390x. 371s Preparing to unpack .../023-libice6_2%3a1.1.1-1_s390x.deb ... 371s Unpacking libice6:s390x (2:1.1.1-1) ... 372s Selecting previously unselected package libjpeg-turbo8:s390x. 372s Preparing to unpack .../024-libjpeg-turbo8_2.1.5-3ubuntu2_s390x.deb ... 372s Unpacking libjpeg-turbo8:s390x (2.1.5-3ubuntu2) ... 372s Selecting previously unselected package libjpeg8:s390x. 372s Preparing to unpack .../025-libjpeg8_8c-2ubuntu11_s390x.deb ... 372s Unpacking libjpeg8:s390x (8c-2ubuntu11) ... 372s Selecting previously unselected package libjs-bootstrap. 372s Preparing to unpack .../026-libjs-bootstrap_3.4.1+dfsg-3_all.deb ... 372s Unpacking libjs-bootstrap (3.4.1+dfsg-3) ... 372s Selecting previously unselected package libjs-popper.js. 372s Preparing to unpack .../027-libjs-popper.js_1.16.1+ds-6_all.deb ... 372s Unpacking libjs-popper.js (1.16.1+ds-6) ... 372s Selecting previously unselected package libjs-bootstrap4. 372s Preparing to unpack .../028-libjs-bootstrap4_4.6.1+dfsg1-4_all.deb ... 372s Unpacking libjs-bootstrap4 (4.6.1+dfsg1-4) ... 372s Selecting previously unselected package libjs-d3. 372s Preparing to unpack .../029-libjs-d3_3.5.17-4_all.deb ... 372s Unpacking libjs-d3 (3.5.17-4) ... 372s Selecting previously unselected package libjs-es5-shim. 372s Preparing to unpack .../030-libjs-es5-shim_4.6.7-2_all.deb ... 372s Unpacking libjs-es5-shim (4.6.7-2) ... 372s Selecting previously unselected package libjs-highlight.js. 372s Preparing to unpack .../031-libjs-highlight.js_9.18.5+dfsg1-2_all.deb ... 372s Unpacking libjs-highlight.js (9.18.5+dfsg1-2) ... 372s Selecting previously unselected package libjs-jquery. 372s Preparing to unpack .../032-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 372s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 372s Selecting previously unselected package libjs-jquery-datatables. 372s Preparing to unpack .../033-libjs-jquery-datatables_1.11.5+dfsg-2_all.deb ... 372s Unpacking libjs-jquery-datatables (1.11.5+dfsg-2) ... 372s Selecting previously unselected package libjs-sifter.js. 372s Preparing to unpack .../034-libjs-sifter.js_0.6.0+dfsg-3_all.deb ... 372s Unpacking libjs-sifter.js (0.6.0+dfsg-3) ... 372s Selecting previously unselected package libjs-microplugin.js. 372s Preparing to unpack .../035-libjs-microplugin.js_0.0.3+dfsg-1.1_all.deb ... 372s Unpacking libjs-microplugin.js (0.0.3+dfsg-1.1) ... 372s Selecting previously unselected package libjs-jquery-selectize.js. 372s Preparing to unpack .../036-libjs-jquery-selectize.js_0.12.6+dfsg-1.1_all.deb ... 372s Unpacking libjs-jquery-selectize.js (0.12.6+dfsg-1.1) ... 372s Selecting previously unselected package libjs-jquery-ui. 372s Preparing to unpack .../037-libjs-jquery-ui_1.13.2+dfsg-1_all.deb ... 372s Unpacking libjs-jquery-ui (1.13.2+dfsg-1) ... 372s Selecting previously unselected package libjs-json. 372s Preparing to unpack .../038-libjs-json_0~20221030+~1.0.8-1_all.deb ... 372s Unpacking libjs-json (0~20221030+~1.0.8-1) ... 372s Selecting previously unselected package libjs-prettify. 372s Preparing to unpack .../039-libjs-prettify_2015.12.04+dfsg-1.1_all.deb ... 372s Unpacking libjs-prettify (2015.12.04+dfsg-1.1) ... 372s Selecting previously unselected package liblapack3:s390x. 372s Preparing to unpack .../040-liblapack3_3.12.1-2_s390x.deb ... 372s Unpacking liblapack3:s390x (3.12.1-2) ... 372s Selecting previously unselected package liblua5.4-0:s390x. 372s Preparing to unpack .../041-liblua5.4-0_5.4.7-1_s390x.deb ... 372s Unpacking liblua5.4-0:s390x (5.4.7-1) ... 372s Selecting previously unselected package libthai-data. 372s Preparing to unpack .../042-libthai-data_0.1.29-2build1_all.deb ... 372s Unpacking libthai-data (0.1.29-2build1) ... 372s Selecting previously unselected package libthai0:s390x. 372s Preparing to unpack .../043-libthai0_0.1.29-2build1_s390x.deb ... 372s Unpacking libthai0:s390x (0.1.29-2build1) ... 372s Selecting previously unselected package libpango-1.0-0:s390x. 372s Preparing to unpack .../044-libpango-1.0-0_1.56.1-1_s390x.deb ... 372s Unpacking libpango-1.0-0:s390x (1.56.1-1) ... 372s Selecting previously unselected package libpangoft2-1.0-0:s390x. 372s Preparing to unpack .../045-libpangoft2-1.0-0_1.56.1-1_s390x.deb ... 372s Unpacking libpangoft2-1.0-0:s390x (1.56.1-1) ... 372s Selecting previously unselected package libpangocairo-1.0-0:s390x. 372s Preparing to unpack .../046-libpangocairo-1.0-0_1.56.1-1_s390x.deb ... 372s Unpacking libpangocairo-1.0-0:s390x (1.56.1-1) ... 372s Selecting previously unselected package libpaper2:s390x. 372s Preparing to unpack .../047-libpaper2_2.2.5-0.3_s390x.deb ... 372s Unpacking libpaper2:s390x (2.2.5-0.3) ... 372s Selecting previously unselected package libpaper-utils. 372s Preparing to unpack .../048-libpaper-utils_2.2.5-0.3_s390x.deb ... 372s Unpacking libpaper-utils (2.2.5-0.3) ... 372s Selecting previously unselected package libsharpyuv0:s390x. 372s Preparing to unpack .../049-libsharpyuv0_1.5.0-0.1_s390x.deb ... 372s Unpacking libsharpyuv0:s390x (1.5.0-0.1) ... 372s Selecting previously unselected package libsm6:s390x. 372s Preparing to unpack .../050-libsm6_2%3a1.2.4-1_s390x.deb ... 372s Unpacking libsm6:s390x (2:1.2.4-1) ... 372s Selecting previously unselected package libtcl8.6:s390x. 372s Preparing to unpack .../051-libtcl8.6_8.6.16+dfsg-1_s390x.deb ... 372s Unpacking libtcl8.6:s390x (8.6.16+dfsg-1) ... 372s Selecting previously unselected package libjbig0:s390x. 372s Preparing to unpack .../052-libjbig0_2.1-6.1ubuntu2_s390x.deb ... 372s Unpacking libjbig0:s390x (2.1-6.1ubuntu2) ... 372s Selecting previously unselected package libwebp7:s390x. 372s Preparing to unpack .../053-libwebp7_1.5.0-0.1_s390x.deb ... 372s Unpacking libwebp7:s390x (1.5.0-0.1) ... 372s Selecting previously unselected package libtiff6:s390x. 372s Preparing to unpack .../054-libtiff6_4.5.1+git230720-4ubuntu4_s390x.deb ... 372s Unpacking libtiff6:s390x (4.5.1+git230720-4ubuntu4) ... 372s Selecting previously unselected package libxft2:s390x. 372s Preparing to unpack .../055-libxft2_2.3.6-1build1_s390x.deb ... 372s Unpacking libxft2:s390x (2.3.6-1build1) ... 372s Selecting previously unselected package libxss1:s390x. 372s Preparing to unpack .../056-libxss1_1%3a1.2.3-1build3_s390x.deb ... 372s Unpacking libxss1:s390x (1:1.2.3-1build3) ... 372s Selecting previously unselected package libtk8.6:s390x. 372s Preparing to unpack .../057-libtk8.6_8.6.16-1_s390x.deb ... 372s Unpacking libtk8.6:s390x (8.6.16-1) ... 372s Selecting previously unselected package libxt6t64:s390x. 372s Preparing to unpack .../058-libxt6t64_1%3a1.2.1-1.2build1_s390x.deb ... 372s Unpacking libxt6t64:s390x (1:1.2.1-1.2build1) ... 372s Selecting previously unselected package zip. 372s Preparing to unpack .../059-zip_3.0-14ubuntu2_s390x.deb ... 372s Unpacking zip (3.0-14ubuntu2) ... 372s Selecting previously unselected package unzip. 372s Preparing to unpack .../060-unzip_6.0-28ubuntu6_s390x.deb ... 372s Unpacking unzip (6.0-28ubuntu6) ... 372s Selecting previously unselected package xdg-utils. 372s Preparing to unpack .../061-xdg-utils_1.2.1-2ubuntu1_all.deb ... 372s Unpacking xdg-utils (1.2.1-2ubuntu1) ... 372s Selecting previously unselected package r-base-core. 372s Preparing to unpack .../062-r-base-core_4.4.3-1_s390x.deb ... 372s Unpacking r-base-core (4.4.3-1) ... 372s Selecting previously unselected package r-cran-littler. 372s Preparing to unpack .../063-r-cran-littler_0.3.20-2_s390x.deb ... 372s Unpacking r-cran-littler (0.3.20-2) ... 372s Selecting previously unselected package littler. 372s Preparing to unpack .../064-littler_0.3.20-2_all.deb ... 372s Unpacking littler (0.3.20-2) ... 372s Selecting previously unselected package node-bootstrap-sass. 372s Preparing to unpack .../065-node-bootstrap-sass_3.4.3-2_all.deb ... 372s Unpacking node-bootstrap-sass (3.4.3-2) ... 372s Selecting previously unselected package node-html5shiv. 372s Preparing to unpack .../066-node-html5shiv_3.7.3+dfsg-5_all.deb ... 372s Unpacking node-html5shiv (3.7.3+dfsg-5) ... 372s Selecting previously unselected package node-normalize.css. 372s Preparing to unpack .../067-node-normalize.css_8.0.1-5_all.deb ... 372s Unpacking node-normalize.css (8.0.1-5) ... 372s Selecting previously unselected package pandoc-data. 372s Preparing to unpack .../068-pandoc-data_3.1.11.1-3build1_all.deb ... 372s Unpacking pandoc-data (3.1.11.1-3build1) ... 372s Selecting previously unselected package pandoc. 372s Preparing to unpack .../069-pandoc_3.1.11.1+ds-2_s390x.deb ... 372s Unpacking pandoc (3.1.11.1+ds-2) ... 373s Selecting previously unselected package r-cran-base64enc. 373s Preparing to unpack .../070-r-cran-base64enc_0.1-3-3_s390x.deb ... 373s Unpacking r-cran-base64enc (0.1-3-3) ... 373s Selecting previously unselected package r-cran-rlang. 373s Preparing to unpack .../071-r-cran-rlang_1.1.5-1_s390x.deb ... 373s Unpacking r-cran-rlang (1.1.5-1) ... 373s Selecting previously unselected package r-cran-fastmap. 373s Preparing to unpack .../072-r-cran-fastmap_1.2.0-1_s390x.deb ... 373s Unpacking r-cran-fastmap (1.2.0-1) ... 373s Selecting previously unselected package r-cran-cachem. 373s Preparing to unpack .../073-r-cran-cachem_1.1.0-1_s390x.deb ... 373s Unpacking r-cran-cachem (1.1.0-1) ... 373s Selecting previously unselected package r-cran-digest. 373s Preparing to unpack .../074-r-cran-digest_0.6.37-1_s390x.deb ... 373s Unpacking r-cran-digest (0.6.37-1) ... 373s Selecting previously unselected package r-cran-htmltools. 373s Preparing to unpack .../075-r-cran-htmltools_0.5.8.1-1_s390x.deb ... 373s Unpacking r-cran-htmltools (0.5.8.1-1) ... 374s Selecting previously unselected package r-cran-jquerylib. 374s Preparing to unpack .../076-r-cran-jquerylib_0.1.4+dfsg-4_all.deb ... 374s Unpacking r-cran-jquerylib (0.1.4+dfsg-4) ... 374s Selecting previously unselected package r-cran-jsonlite. 374s Preparing to unpack .../077-r-cran-jsonlite_1.9.1+dfsg-1_s390x.deb ... 374s Unpacking r-cran-jsonlite (1.9.1+dfsg-1) ... 374s Selecting previously unselected package r-cran-cli. 374s Preparing to unpack .../078-r-cran-cli_3.6.4-1_s390x.deb ... 374s Unpacking r-cran-cli (3.6.4-1) ... 374s Selecting previously unselected package r-cran-glue. 374s Preparing to unpack .../079-r-cran-glue_1.8.0-1_s390x.deb ... 374s Unpacking r-cran-glue (1.8.0-1) ... 374s Selecting previously unselected package r-cran-lifecycle. 374s Preparing to unpack .../080-r-cran-lifecycle_1.0.4+dfsg-1_all.deb ... 374s Unpacking r-cran-lifecycle (1.0.4+dfsg-1) ... 374s Selecting previously unselected package r-cran-memoise. 374s Preparing to unpack .../081-r-cran-memoise_2.0.1-1_all.deb ... 374s Unpacking r-cran-memoise (2.0.1-1) ... 374s Selecting previously unselected package r-cran-mime. 374s Preparing to unpack .../082-r-cran-mime_0.12-2_s390x.deb ... 374s Unpacking r-cran-mime (0.12-2) ... 374s Selecting previously unselected package r-cran-fs. 374s Preparing to unpack .../083-r-cran-fs_1.6.5+dfsg-1_s390x.deb ... 374s Unpacking r-cran-fs (1.6.5+dfsg-1) ... 374s Selecting previously unselected package r-cran-r6. 374s Preparing to unpack .../084-r-cran-r6_2.6.1-1_all.deb ... 374s Unpacking r-cran-r6 (2.6.1-1) ... 374s Selecting previously unselected package r-cran-rappdirs. 374s Preparing to unpack .../085-r-cran-rappdirs_0.3.3-1_s390x.deb ... 374s Unpacking r-cran-rappdirs (0.3.3-1) ... 374s Selecting previously unselected package r-cran-sass. 374s Preparing to unpack .../086-r-cran-sass_0.4.9+dfsg-1_s390x.deb ... 374s Unpacking r-cran-sass (0.4.9+dfsg-1) ... 374s Selecting previously unselected package r-cran-bslib. 374s Preparing to unpack .../087-r-cran-bslib_0.8.0+dfsg-1_all.deb ... 374s Unpacking r-cran-bslib (0.8.0+dfsg-1) ... 374s Selecting previously unselected package r-cran-commonmark. 374s Preparing to unpack .../088-r-cran-commonmark_1.9.2-2_s390x.deb ... 374s Unpacking r-cran-commonmark (1.9.2-2) ... 374s Selecting previously unselected package r-cran-crayon. 374s Preparing to unpack .../089-r-cran-crayon_1.5.3-1_all.deb ... 374s Unpacking r-cran-crayon (1.5.3-1) ... 374s Selecting previously unselected package r-cran-diffobj. 374s Preparing to unpack .../090-r-cran-diffobj_0.3.5-1_s390x.deb ... 374s Unpacking r-cran-diffobj (0.3.5-1) ... 374s Selecting previously unselected package r-cran-evaluate. 374s Preparing to unpack .../091-r-cran-evaluate_1.0.3-1_all.deb ... 374s Unpacking r-cran-evaluate (1.0.3-1) ... 374s Selecting previously unselected package r-cran-fansi. 374s Preparing to unpack .../092-r-cran-fansi_1.0.6-1_s390x.deb ... 374s Unpacking r-cran-fansi (1.0.6-1) ... 374s Selecting previously unselected package r-cran-fontawesome. 374s Preparing to unpack .../093-r-cran-fontawesome_0.5.3-1_all.deb ... 374s Unpacking r-cran-fontawesome (0.5.3-1) ... 374s Selecting previously unselected package r-cran-xfun. 374s Preparing to unpack .../094-r-cran-xfun_0.51+dfsg-1_s390x.deb ... 374s Unpacking r-cran-xfun (0.51+dfsg-1) ... 374s Selecting previously unselected package r-cran-highr. 374s Preparing to unpack .../095-r-cran-highr_0.11+dfsg-1_all.deb ... 374s Unpacking r-cran-highr (0.11+dfsg-1) ... 374s Selecting previously unselected package r-cran-pkgkitten. 374s Preparing to unpack .../096-r-cran-pkgkitten_0.2.4-1_all.deb ... 374s Unpacking r-cran-pkgkitten (0.2.4-1) ... 374s Selecting previously unselected package r-cran-rcpp. 374s Preparing to unpack .../097-r-cran-rcpp_1.0.14-1_s390x.deb ... 374s Unpacking r-cran-rcpp (1.0.14-1) ... 374s Selecting previously unselected package r-cran-later. 374s Preparing to unpack .../098-r-cran-later_1.4.1+dfsg-1_s390x.deb ... 374s Unpacking r-cran-later (1.4.1+dfsg-1) ... 374s Selecting previously unselected package r-cran-magrittr. 374s Preparing to unpack .../099-r-cran-magrittr_2.0.3-1_s390x.deb ... 374s Unpacking r-cran-magrittr (2.0.3-1) ... 374s Selecting previously unselected package r-cran-promises. 374s Preparing to unpack .../100-r-cran-promises_1.3.2+dfsg-1_s390x.deb ... 374s Unpacking r-cran-promises (1.3.2+dfsg-1) ... 374s Selecting previously unselected package r-cran-httpuv. 374s Preparing to unpack .../101-r-cran-httpuv_1.6.15+dfsg-1_s390x.deb ... 374s Unpacking r-cran-httpuv (1.6.15+dfsg-1) ... 374s Selecting previously unselected package r-cran-yaml. 374s Preparing to unpack .../102-r-cran-yaml_2.3.10-1_s390x.deb ... 374s Unpacking r-cran-yaml (2.3.10-1) ... 374s Selecting previously unselected package libjs-mathjax. 374s Preparing to unpack .../103-libjs-mathjax_2.7.9+dfsg-1_all.deb ... 374s Unpacking libjs-mathjax (2.7.9+dfsg-1) ... 374s Selecting previously unselected package r-cran-knitr. 374s Preparing to unpack .../104-r-cran-knitr_1.49+dfsg-1_all.deb ... 374s Unpacking r-cran-knitr (1.49+dfsg-1) ... 374s Selecting previously unselected package r-cran-tinytex. 374s Preparing to unpack .../105-r-cran-tinytex_0.56-1_all.deb ... 374s Unpacking r-cran-tinytex (0.56-1) ... 374s Selecting previously unselected package libjs-modernizr. 374s Preparing to unpack .../106-libjs-modernizr_3.13.0-0.1_all.deb ... 374s Unpacking libjs-modernizr (3.13.0-0.1) ... 374s Selecting previously unselected package r-cran-xtable. 374s Preparing to unpack .../107-r-cran-xtable_1%3a1.8-4-2_all.deb ... 374s Unpacking r-cran-xtable (1:1.8-4-2) ... 375s Selecting previously unselected package r-cran-sourcetools. 375s Preparing to unpack .../108-r-cran-sourcetools_0.1.7-1-1_s390x.deb ... 375s Unpacking r-cran-sourcetools (0.1.7-1-1) ... 375s Selecting previously unselected package r-cran-withr. 375s Preparing to unpack .../109-r-cran-withr_3.0.2+dfsg-1_all.deb ... 375s Unpacking r-cran-withr (3.0.2+dfsg-1) ... 375s Selecting previously unselected package libjs-twitter-bootstrap-datepicker. 375s Preparing to unpack .../110-libjs-twitter-bootstrap-datepicker_1.3.1+dfsg1-4.1_all.deb ... 375s Unpacking libjs-twitter-bootstrap-datepicker (1.3.1+dfsg1-4.1) ... 375s Selecting previously unselected package r-cran-shiny. 375s Preparing to unpack .../111-r-cran-shiny_1.10.0+dfsg-2_all.deb ... 375s Unpacking r-cran-shiny (1.10.0+dfsg-2) ... 375s Selecting previously unselected package r-cran-rmarkdown. 375s Preparing to unpack .../112-r-cran-rmarkdown_2.29+dfsg-1_all.deb ... 375s Unpacking r-cran-rmarkdown (2.29+dfsg-1) ... 375s Selecting previously unselected package r-cran-unitizer. 375s Preparing to unpack .../113-r-cran-unitizer_1.4.21-1_all.deb ... 375s Unpacking r-cran-unitizer (1.4.21-1) ... 375s Setting up libjs-json (0~20221030+~1.0.8-1) ... 375s Setting up javascript-common (12) ... 375s Setting up libgraphite2-3:s390x (1.3.14-2ubuntu1) ... 375s Setting up libpixman-1-0:s390x (0.44.0-3) ... 375s Setting up libsharpyuv0:s390x (1.5.0-0.1) ... 375s Setting up fonts-mathjax (2.7.9+dfsg-1) ... 375s Setting up libjs-mathjax (2.7.9+dfsg-1) ... 375s Setting up libxrender1:s390x (1:0.9.10-1.1build1) ... 375s Setting up libdatrie1:s390x (0.2.13-3build1) ... 375s Setting up libjs-popper.js (1.16.1+ds-6) ... 375s Setting up libxcb-render0:s390x (1.17.0-2) ... 375s Setting up libjs-sifter.js (0.6.0+dfsg-3) ... 375s Setting up fonts-glyphicons-halflings (1.009~3.4.1+dfsg-3) ... 375s Setting up unzip (6.0-28ubuntu6) ... 375s Setting up x11-common (1:7.7+23ubuntu3) ... 375s Setting up node-html5shiv (3.7.3+dfsg-5) ... 375s Setting up libdeflate0:s390x (1.23-1) ... 375s Setting up libjs-microplugin.js (0.0.3+dfsg-1.1) ... 375s Setting up libxcb-shm0:s390x (1.17.0-2) ... 375s Setting up libgomp1:s390x (15-20250222-0ubuntu1) ... 375s Setting up libjs-modernizr (3.13.0-0.1) ... 375s Setting up libjbig0:s390x (2.1-6.1ubuntu2) ... 375s Setting up libjs-es5-shim (4.6.7-2) ... 375s Setting up zip (3.0-14ubuntu2) ... 375s Setting up libblas3:s390x (3.12.1-2) ... 375s update-alternatives: using /usr/lib/s390x-linux-gnu/blas/libblas.so.3 to provide /usr/lib/s390x-linux-gnu/libblas.so.3 (libblas.so.3-s390x-linux-gnu) in auto mode 375s Setting up libfreetype6:s390x (2.13.3+dfsg-1) ... 375s Setting up libjs-d3 (3.5.17-4) ... 375s Setting up fonts-dejavu-mono (2.37-8) ... 375s Setting up libtcl8.6:s390x (8.6.16+dfsg-1) ... 375s Setting up fonts-dejavu-core (2.37-8) ... 375s Setting up libjpeg-turbo8:s390x (2.1.5-3ubuntu2) ... 375s Setting up libgfortran5:s390x (15-20250222-0ubuntu1) ... 375s Setting up libwebp7:s390x (1.5.0-0.1) ... 375s Setting up libjs-highlight.js (9.18.5+dfsg1-2) ... 375s Setting up liblua5.4-0:s390x (5.4.7-1) ... 375s Setting up libharfbuzz0b:s390x (10.2.0-1) ... 375s Setting up libthai-data (0.1.29-2build1) ... 375s Setting up node-bootstrap-sass (3.4.3-2) ... 375s Setting up libjs-prettify (2015.12.04+dfsg-1.1) ... 375s Setting up libxss1:s390x (1:1.2.3-1build3) ... 375s Setting up libjs-bootstrap4 (4.6.1+dfsg1-4) ... 375s Setting up libpaper2:s390x (2.2.5-0.3) ... 375s Setting up pandoc-data (3.1.11.1-3build1) ... 375s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 375s Setting up node-normalize.css (8.0.1-5) ... 375s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 375s Setting up xdg-utils (1.2.1-2ubuntu1) ... 375s update-alternatives: using /usr/bin/xdg-open to provide /usr/bin/open (open) in auto mode 375s Setting up libjs-bootstrap (3.4.1+dfsg-3) ... 375s Setting up libjs-jquery-selectize.js (0.12.6+dfsg-1.1) ... 375s Setting up libjpeg8:s390x (8c-2ubuntu11) ... 375s Setting up libice6:s390x (2:1.1.1-1) ... 375s Setting up liblapack3:s390x (3.12.1-2) ... 375s update-alternatives: using /usr/lib/s390x-linux-gnu/lapack/liblapack.so.3 to provide /usr/lib/s390x-linux-gnu/liblapack.so.3 (liblapack.so.3-s390x-linux-gnu) in auto mode 375s Setting up fontconfig-config (2.15.0-2ubuntu1) ... 375s Setting up libjs-twitter-bootstrap-datepicker (1.3.1+dfsg1-4.1) ... 375s Setting up libpaper-utils (2.2.5-0.3) ... 375s Setting up libjs-jquery-datatables (1.11.5+dfsg-2) ... 375s Setting up libthai0:s390x (0.1.29-2build1) ... 375s Setting up libjs-jquery-ui (1.13.2+dfsg-1) ... 375s Setting up pandoc (3.1.11.1+ds-2) ... 375s Setting up libtiff6:s390x (4.5.1+git230720-4ubuntu4) ... 375s Setting up libfontconfig1:s390x (2.15.0-2ubuntu1) ... 375s Setting up libsm6:s390x (2:1.2.4-1) ... 375s Setting up fontconfig (2.15.0-2ubuntu1) ... 377s Regenerating fonts cache... done. 377s Setting up libxft2:s390x (2.3.6-1build1) ... 377s Setting up libtk8.6:s390x (8.6.16-1) ... 377s Setting up libpango-1.0-0:s390x (1.56.1-1) ... 377s Setting up libcairo2:s390x (1.18.2-2) ... 377s Setting up libxt6t64:s390x (1:1.2.1-1.2build1) ... 377s Setting up libpangoft2-1.0-0:s390x (1.56.1-1) ... 377s Setting up libpangocairo-1.0-0:s390x (1.56.1-1) ... 377s Setting up r-base-core (4.4.3-1) ... 377s Creating config file /etc/R/Renviron with new version 377s Setting up r-cran-crayon (1.5.3-1) ... 377s Setting up r-cran-sourcetools (0.1.7-1-1) ... 377s Setting up r-cran-commonmark (1.9.2-2) ... 377s Setting up r-cran-r6 (2.6.1-1) ... 377s Setting up r-cran-pkgkitten (0.2.4-1) ... 377s Setting up r-cran-magrittr (2.0.3-1) ... 377s Setting up r-cran-rappdirs (0.3.3-1) ... 377s Setting up r-cran-littler (0.3.20-2) ... 377s Setting up r-cran-fs (1.6.5+dfsg-1) ... 377s Setting up r-cran-rcpp (1.0.14-1) ... 377s Setting up r-cran-diffobj (0.3.5-1) ... 377s Setting up r-cran-rlang (1.1.5-1) ... 377s Setting up littler (0.3.20-2) ... 377s Setting up r-cran-xfun (0.51+dfsg-1) ... 377s Setting up r-cran-withr (3.0.2+dfsg-1) ... 377s Setting up r-cran-mime (0.12-2) ... 377s Setting up r-cran-base64enc (0.1-3-3) ... 377s Setting up r-cran-digest (0.6.37-1) ... 377s Setting up r-cran-yaml (2.3.10-1) ... 377s Setting up r-cran-evaluate (1.0.3-1) ... 377s Setting up r-cran-highr (0.11+dfsg-1) ... 377s Setting up r-cran-fansi (1.0.6-1) ... 377s Setting up r-cran-glue (1.8.0-1) ... 377s Setting up r-cran-xtable (1:1.8-4-2) ... 377s Setting up r-cran-cli (3.6.4-1) ... 377s Setting up r-cran-lifecycle (1.0.4+dfsg-1) ... 377s Setting up r-cran-fastmap (1.2.0-1) ... 377s Setting up r-cran-jsonlite (1.9.1+dfsg-1) ... 377s Setting up r-cran-later (1.4.1+dfsg-1) ... 377s Setting up r-cran-htmltools (0.5.8.1-1) ... 377s Setting up r-cran-tinytex (0.56-1) ... 377s Setting up r-cran-knitr (1.49+dfsg-1) ... 377s Setting up r-cran-cachem (1.1.0-1) ... 377s Setting up r-cran-sass (0.4.9+dfsg-1) ... 377s Setting up r-cran-unitizer (1.4.21-1) ... 377s Setting up r-cran-fontawesome (0.5.3-1) ... 377s Setting up r-cran-jquerylib (0.1.4+dfsg-4) ... 377s Setting up r-cran-memoise (2.0.1-1) ... 377s Setting up r-cran-promises (1.3.2+dfsg-1) ... 377s Setting up r-cran-httpuv (1.6.15+dfsg-1) ... 377s Setting up r-cran-bslib (0.8.0+dfsg-1) ... 377s Setting up r-cran-shiny (1.10.0+dfsg-2) ... 377s Setting up r-cran-rmarkdown (2.29+dfsg-1) ... 377s Processing triggers for libc-bin (2.41-1ubuntu1) ... 377s Processing triggers for man-db (2.13.0-1) ... 378s Processing triggers for install-info (7.1.1-1) ... 379s autopkgtest [10:49:14]: test run-unit-test: [----------------------- 379s BEGIN TEST run.R 379s 379s R version 4.4.3 (2025-02-28) -- "Trophy Case" 379s Copyright (C) 2025 The R Foundation for Statistical Computing 379s Platform: s390x-ibm-linux-gnu 379s 379s R is free software and comes with ABSOLUTELY NO WARRANTY. 379s You are welcome to redistribute it under certain conditions. 379s Type 'license()' or 'licence()' for distribution details. 379s 379s R is a collaborative project with many contributors. 379s Type 'contributors()' for more information and 379s 'citation()' on how to cite R or R packages in publications. 379s 379s Type 'demo()' for some demos, 'help()' for on-line help, or 379s 'help.start()' for an HTML browser interface to help. 379s Type 'q()' to quit R. 379s 379s > # to avoid variability on terminals with different capabilities 379s > # plus generally random options being set 379s > 379s > if(getRversion() < "3.2.2") { 379s + warning("Cannot run tests with R version less than 3.2.2.") 379s + } else if(!suppressWarnings(require('fansi'))) { 379s + # this is to avoid accidentally running tests under valgrind without fansi 379s + # installed... (no, we've never done this...) 379s + warning("Cannot run tests without package `fansi`") 379s + } else if(!suppressWarnings(require('unitizer'))) { 379s + warning("Cannot run tests without package `unitizer`") 379s + } else { 379s + old.opt <- options( 379s + fansi.tabs.as.spaces=FALSE, 379s + fansi.tab.stops=8L, 379s + fansi.warn=TRUE, 379s + fansi.term.cap=c('bright', '256') 379s + # warnPartialMatchArgs = TRUE, 379s + # warnPartialMatchAttr = TRUE, 379s + # warnPartialMatchDollar = TRUE 379s + ) 379s + on.exit(old.opt) 379s + pat.all <- "^[^.].*\\.[Rr]$" 379s + pattern <- pat.all 379s + # pattern <- "over" 379s + unitize_dir( 379s + 'unitizer', 379s + pattern=pattern, 379s + state='suggested' 379s + ) 379s + # we skip utf8 tests on solaris due to the problems with deparse (and maybe 379s + # others, don't have a solaris system handy for testing). 379s + if( 379s + !grepl("solaris|sun", Sys.info()[['sysname']], ignore.case=TRUE) && 379s + identical(pattern, pat.all) 379s Loading required package: fansi 379s Loading required package: unitizer 379s + ) { 379s + unitize('special/utf8.R', state='suggested') 379s + } 379s + # UCD 12.1 update in 4.0.4 produces correct widths for emoji 379s + if(getRversion() >= "4.0.4" && identical(pattern, pat.all)) 379s + unitize('special/emo-graph.R', state='suggested') 379s + } 380s 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. 380s 380s Preloads... 380s Loading unitizer data... 380s Parsing tests... 380s Parsing has.R 380s Parsing interactions.R 380s Parsing misc.R 380s Parsing nchar.R 380s Parsing normalize.R 380s Parsing overflow.R 380s Parsing strip.R 380s Parsing strsplit.R 380s Parsing substr.R 380s Parsing tabs.R 380s Parsing tohtml.R 380s Parsing trimws.R 380s Parsing url.R 380s Parsing wrap.R 381s Evaluating tests... 381s 381s 1/14 has.R: 381s 1/14 has.R: library(fansi) 381s 1/14 has.R: unitizer_sect("has", { 381s 1/14 has.R: has_ctl(paste0(red, "hello", end)) 381s [1] TRUE 381s 1/14 has.R: has_ctl(paste0("hello", end)) 381s [1] TRUE 381s 1/14 has.R: has_ctl(paste0("hello")) 381s [1] FALSE 381s 1/14 has.R: in.middle <- c("world", paste0("hello", red), "wow") 381s 1/14 has.R: in.end <- c("world", "wow", paste0("hello", red)) 381s 1/14 has.R: in.start <- c(paste0("hello", red), "wow", "world") 381s 1/14 has.R: has_ctl(in.middle) 381s [1] FALSE TRUE FALSE 381s 1/14 has.R: has_ctl(in.end) 381s [1] FALSE FALSE TRUE 381s 1/14 has.R: has_ctl(in.start) 381s [1] TRUE FALSE FALSE 381s 1/14 has.R: has_ctl(c(in.start, NA)) 381s [1] TRUE FALSE FALSE NA 381s 1/14 has.R: has_ctl("hello\nworld") 381s [1] TRUE 381s 1/14 has.R: has_sgr("hello\nworld") 381s [1] FALSE 381s 1/14 has.R: has_sgr(in.end) 381s [1] FALSE FALSE TRUE 381s 1/14 has.R: has_ctl("hello\033p world") 381s [1] TRUE 381s 1/14 has.R: unitizer_sect("corner cases", { 381s 1/14 has.R: has_ctl("hello\033[31#0mworld") 381s [1] TRUE 381s 1/14 has.R: suppressWarnings(has_ctl("hello\033[31#0mworld")) 381s [1] TRUE 381s 1/14 has.R: has_ctl("hello world", ctl = c("sgr", "sgr")) 381s [1] FALSE 381s 1/14 has.R: has_ctl("hello\033[31#0") 381s [1] TRUE 381s 1/14 has.R: unitizer_sect("select ctl", { 381s Warning in has_ctl("hello\033[31#0") : 381s 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. 381s 1/14 has.R: has_ctl("hello\033[31mworld", ctl = c("sgr")) 381s [1] TRUE 381s 1/14 has.R: has_ctl("hello\033[31mworld", ctl = c("csi")) 381s [1] FALSE 381s 1/14 has.R: has_ctl("hello\033[31!mworld", ctl = c("sgr")) 381s [1] TRUE 381s 1/14 has.R: has_ctl("hello\033[31!mworld", ctl = c("csi")) 381s [1] FALSE 381s 1/14 has.R: has_ctl("hello\033[31lworld", ctl = c("csi")) 381s [1] TRUE 381s 1/14 has.R: has_ctl("hello\nworld", ctl = c("all", "nl")) 381s [1] FALSE 381s 1/14 has.R: has_ctl("hello\nworld", ctl = c("all", "c0")) 381s [1] TRUE 381s 1/14 has.R: has_ctl("hello\tworld", ctl = c("all", "c0")) 381s [1] FALSE 381s 1/14 has.R: has_ctl("hello\tworld", ctl = c("c0")) 381s [1] TRUE 381s 1/14 has.R: has_ctl("hello\033pworld", ctl = c("esc")) 381s [1] TRUE 381s 1/14 has.R: has_ctl("hello\033pworld", ctl = c("all", "esc")) 381s [1] FALSE 381s 1/14 has.R: unitizer_sect("bad inputs", { 381s 1/14 has.R: has_ctl("hello world", warn = NULL) 381s Error in has_ctl("hello world", warn = NULL) : 381s Argument `warn` must be TRUE or FALSE. 381s Calls: unitize_dir ... eval -> withVisible -> has_ctl -> VAL_IN_ENV -> stop2 381s 1/14 has.R: has_ctl("hello world", ctl = 1:3) 381s Error in has_ctl("hello world", ctl = 1:3) : 381s Argument `ctl` must be character. 381s Calls: unitize_dir ... eval -> withVisible -> has_ctl -> VAL_IN_ENV -> stop2 381s 1/14 has.R: has_ctl("hello world", ctl = "bananas") 381s Error in has_ctl("hello world", ctl = "bananas") : 381s Argument `ctl` may contain only values in `c("all", "nl", "c0", "sgr", "csi", "esc", "url", "osc")` 381s Calls: unitize_dir ... eval -> withVisible -> has_ctl -> VAL_IN_ENV -> stop2 381s 1/14 has.R: has_ctl("hello world", ctl = NA_character_) 381s Error in has_ctl("hello world", ctl = NA_character_) : 381s Argument `ctl` may contain only values in `c("all", "nl", "c0", "sgr", "csi", "esc", "url", "osc")` 381s Calls: unitize_dir ... eval -> withVisible -> has_ctl -> VAL_IN_ENV -> stop2 381s 1/14 has.R: has_ctl(c("\033[31mhello", "wo\nrld"), ctl = character()) 381s [1] FALSE FALSE 381s 1/14 has.R: unitizer_sect("deprecation", { 381s Parameter `which` has been deprecated; use `ctl` instead. 381s 1/14 has.R: has_ctl("hello world", which = "sgr") 381s [1] FALSE 381s 381s 2/14 interactions.R: 381s 2/14 interactions.R: library(fansi) 381s 2/14 interactions.R: unitizer_sect("substr", { 381s 2/14 interactions.R: str.0 <- c("\033[44mhello", "world") 381s 2/14 interactions.R: substr_ctl(str.0, 2, 4) 381s [1] "\033[44mell\033[0m" "orl" 381s 2/14 interactions.R: substr_ctl(str.0, 2, 4, carry = TRUE) 381s [1] "\033[44mell\033[0m" "\033[44morl\033[0m" 381s 2/14 interactions.R: substr_ctl(str.0, 2, 4, carry = "\033[33m") 381s [1] "\033[33;44mell\033[0m" "\033[33;44morl\033[0m" 381s 2/14 interactions.R: substr2_ctl(str.0, 2, 4, carry = "\033[33m") 381s [1] "\033[33;44mell\033[0m" "\033[33;44morl\033[0m" 381s 2/14 interactions.R: substr_sgr(str.0, 2, 4, carry = "\033[33m") 381s [1] "\033[33;44mell\033[0m" "\033[33;44morl\033[0m" 381s 2/14 interactions.R: substr2_sgr(str.0, 2, 4, carry = "\033[33m") 381s [1] "\033[33;44mell\033[0m" "\033[33;44morl\033[0m" 381s 2/14 interactions.R: str.1 <- c("hello", "\033[44mworld", "barrow") 381s 2/14 interactions.R: substr_ctl(str.1, 2, 4) 381s [1] "ell" "\033[44morl\033[0m" "arr" 381s 2/14 interactions.R: substr_ctl(str.1, 2, 4, carry = TRUE) 381s [1] "ell" "\033[44morl\033[0m" "\033[44marr\033[0m" 381s 2/14 interactions.R: substr_ctl(str.1, 2, 4, carry = "\033[33m") 381s [1] "\033[33mell\033[0m" "\033[33;44morl\033[0m" "\033[33;44marr\033[0m" 381s 2/14 interactions.R: str.2 <- c("\033[33mA\033[44mBCD", "ABCD", "\033[39mABCD") 381s 2/14 interactions.R: substr_ctl(str.2, 2, 2) 381s [1] "\033[33;44mB\033[0m" "B" "B" 381s 2/14 interactions.R: substr_ctl(str.2, 2, 2, carry = TRUE) 381s [1] "\033[33;44mB\033[0m" "\033[33;44mB\033[0m" "\033[44mB\033[0m" 381s 2/14 interactions.R: substr_ctl(str.2, 2, 2, carry = TRUE, terminate = FALSE) 381s [1] "\033[33;44mB" "B" "\033[0;44mB" 381s 2/14 interactions.R: str.3 <- c("\033[35mA\033[42mB", "\033[49mCD") 381s 2/14 interactions.R: substr_ctl(str.3, 2, 2, carry = TRUE, terminate = FALSE) 381s [1] "\033[35;42mB" "\033[0;35mD" 381s 2/14 interactions.R: wrp.0 <- c("once upon \033[44ma time in a land far away ov 381s 2/14 interactions.R: unitizer_sect("wrap/trim", { 381s 2/14 interactions.R: strwrap_ctl(wrp.0, 20) 381s [1] "once upon \033[44ma time in\033[0m" "\033[44ma land far away\033[0m" 381s [3] "\033[44mover\033[0m" "the mountains and" 381s [5] "\033[7msea lived a fair\033[0m" "\033[7mcreature\033[0m" 381s [7] "with \033[4mdark itentions\033[0m" "\033[4mand a yappy dog.\033[0m" 381s 2/14 interactions.R: strwrap_ctl(wrp.0, 20, carry = TRUE) 381s [1] "once upon \033[44ma time in\033[0m" 381s [2] "\033[44ma land far away\033[0m" 381s [3] "\033[44mover\033[0m" 381s [4] "\033[44mthe mountains and\033[0m" 381s [5] "\033[7;44msea lived a fair\033[0m" 381s [6] "\033[7;44mcreature\033[0m" 381s [7] "\033[7;44mwith \033[4mdark itentions\033[0m" 381s [8] "\033[4;7;44mand a yappy dog.\033[0m" 381s 2/14 interactions.R: strwrap_ctl(wrp.0, 20, carry = "\033[33m") 381s [1] "\033[33monce upon \033[44ma time in\033[0m" 381s [2] "\033[33;44ma land far away\033[0m" 381s [3] "\033[33;44mover\033[0m" 381s [4] "\033[33;44mthe mountains and\033[0m" 381s [5] "\033[7;33;44msea lived a fair\033[0m" 381s [6] "\033[7;33;44mcreature\033[0m" 381s [7] "\033[7;33;44mwith \033[4mdark itentions\033[0m" 381s [8] "\033[4;7;33;44mand a yappy dog.\033[0m" 381s 2/14 interactions.R: strwrap_sgr(wrp.0, 20, carry = "\033[33m") 381s [1] "\033[33monce upon \033[44ma time in\033[0m" 381s [2] "\033[33;44ma land far away\033[0m" 381s [3] "\033[33;44mover\033[0m" 381s [4] "\033[33;44mthe mountains and\033[0m" 381s [5] "\033[7;33;44msea lived a fair\033[0m" 381s [6] "\033[7;33;44mcreature\033[0m" 381s [7] "\033[7;33;44mwith \033[4mdark itentions\033[0m" 381s [8] "\033[4;7;33;44mand a yappy dog.\033[0m" 381s 2/14 interactions.R: strwrap2_ctl(wrp.0, 20, carry = "\033[33m") 381s [1] "\033[33monce upon \033[44ma time in\033[0m" 381s [2] "\033[33;44ma land far away\033[0m" 381s [3] "\033[33;44mover\033[0m" 381s [4] "\033[33;44mthe mountains and\033[0m" 381s [5] "\033[7;33;44msea lived a fair\033[0m" 381s [6] "\033[7;33;44mcreature\033[0m" 381s [7] "\033[7;33;44mwith \033[4mdark itentions\033[0m" 381s [8] "\033[4;7;33;44mand a yappy dog.\033[0m" 381s 2/14 interactions.R: strwrap2_sgr(wrp.0, 20, carry = "\033[33m") 381s [1] "\033[33monce upon \033[44ma time in\033[0m" 381s [2] "\033[33;44ma land far away\033[0m" 381s [3] "\033[33;44mover\033[0m" 381s [4] "\033[33;44mthe mountains and\033[0m" 381s [5] "\033[7;33;44msea lived a fair\033[0m" 381s [6] "\033[7;33;44mcreature\033[0m" 381s [7] "\033[7;33;44mwith \033[4mdark itentions\033[0m" 381s [8] "\033[4;7;33;44mand a yappy dog.\033[0m" 381s 2/14 interactions.R: strtrim_ctl(wrp.0, 20, carry = "\033[33m") 381s [1] "\033[33monce upon \033[44ma time in \033[0m" 381s [2] "\033[33;44mthe mountains and \033[7m s\033[0m" 381s [3] "\033[7;33;44mwith \033[4mdark itentions \033[0m" 381s 2/14 interactions.R: strtrim_sgr(wrp.0, 20, carry = "\033[33m") 381s [1] "\033[33monce upon \033[44ma time in \033[0m" 381s [2] "\033[33;44mthe mountains and \033[7m s\033[0m" 381s [3] "\033[7;33;44mwith \033[4mdark itentions \033[0m" 381s 2/14 interactions.R: strtrim2_ctl(wrp.0, 20, carry = "\033[33m") 381s [1] "\033[33monce upon \033[44ma time in \033[0m" 381s [2] "\033[33;44mthe mountains and \033[7m s\033[0m" 381s [3] "\033[7;33;44mwith \033[4mdark itentions \033[0m" 381s 2/14 interactions.R: strtrim2_sgr(wrp.0, 20, carry = "\033[33m") 381s [1] "\033[33monce upon \033[44ma time in \033[0m" 381s [2] "\033[33;44mthe mountains and \033[7m s\033[0m" 381s [3] "\033[7;33;44mwith \033[4mdark itentions \033[0m" 381s 2/14 interactions.R: wrp.1 <- c("once upon \033[44ma time in a land far away ov 381s 2/14 interactions.R: strtrim_ctl(wrp.0, 20, carry = "\033[33m") 381s [1] "\033[33monce upon \033[44ma time in \033[0m" 381s [2] "\033[33;44mthe mountains and \033[7m s\033[0m" 381s [3] "\033[7;33;44mwith \033[4mdark itentions \033[0m" 381s 2/14 interactions.R: wrp.2 <- c("hello \033[42mworld", "goodnight\033[49m moon" 381s 2/14 interactions.R: strwrap_ctl(wrp.2, 10, carry = "\033[35m", simplify = FALS 381s [[1]] 381s [1] "\033[35mhello\033[0m" "\033[35;42mworld\033[0m" 381s 381s [[2]] 381s [1] "\033[35;42mgoodnight\033[0m" "\033[35mmoon\033[0m" 381s 381s [[3]] 381s [1] "\033[35moh \033[39mboy" 381s 381s 2/14 interactions.R: strwrap_ctl(wrp.2, 10, carry = "\033[35m", simplify = FALS 381s [[1]] 381s [1] "hello" "\033[42mworld" 381s 381s [[2]] 381s [1] "goodnight" "\033[0;35mmoon" 381s 381s [[3]] 381s [1] "oh \033[39mboy" 381s 381s 2/14 interactions.R: unitizer_sect("normalize", { 381s 2/14 interactions.R: str.2 <- c("\033[44mhello", "wo\033[mrld", "barrow") 381s 2/14 interactions.R: normalize_state(str.2) 381s [1] "\033[44mhello" "world" "barrow" 381s 2/14 interactions.R: normalize_state(str.2, carry = TRUE) 381s [1] "\033[44mhello" "wo\033[49mrld" "barrow" 381s 2/14 interactions.R: normalize_state(str.2, carry = "\033[33m") 381s [1] "\033[44mhello" "wo\033[39m\033[49mrld" "barrow" 381s 2/14 interactions.R: unitizer_sect("carry corner cases", { 381s 2/14 interactions.R: substr_ctl("", 2, 3, carry = "\033[33m") 381s [1] "" 381s 2/14 interactions.R: substr_ctl("", 2, 3, carry = "\033[33m", terminate = FALSE 381s [1] "" 381s 2/14 interactions.R: substr_ctl("\033[39m", 2, 3, carry = "\033[33m", terminate 381s [1] "\033[0m" 381s 2/14 interactions.R: substr_ctl("\033[39m", 2, 3, carry = "\033[33m", terminate 381s [1] "\033[39m" 381s 2/14 interactions.R: substr_ctl("", 0, 1, carry = "\033[33m") 381s [1] "" 381s 2/14 interactions.R: substr_ctl("", 0, 1, carry = "\033[33m", terminate = FALSE 381s [1] "" 381s 2/14 interactions.R: substr_ctl("\033[39m", 0, 1, carry = "\033[33m", terminate 381s [1] "\033[0m" 381s 2/14 interactions.R: substr_ctl("\033[39m", 0, 1, carry = "\033[33m", terminate 381s [1] "\033[39m" 381s 2/14 interactions.R: substr_ctl("", 0, 0, carry = "\033[33m") 381s [1] "" 381s 2/14 interactions.R: substr_ctl("", 0, 0, carry = "\033[33m", terminate = FALSE 381s [1] "" 381s 2/14 interactions.R: substr_ctl("\033[39m", 0, 0, carry = "\033[33m", terminate 381s [1] "" 381s 2/14 interactions.R: substr_ctl(character(), 2, 4, carry = "\033[33m") 381s character(0) 381s 2/14 interactions.R: substr_ctl(NA, 2, 4, carry = "\033[33m") 381s [1] NA 381s 2/14 interactions.R: substr_ctl(environment(), 2, 4, carry = "\033[33m") 381s Error in as.character(args[["x"]]) : 381s cannot coerce type 'environment' to vector of type 'character' 381s Calls: unitize_dir ... withVisible -> substr_ctl -> substr2_ctl -> VAL_IN_ENV 381s 2/14 interactions.R: substr_ctl("hello", 2, 4, carry = c("\033[33m", "\033[44m" 381s Error in substr2_ctl(x = x, start = start, stop = stop, warn = warn, term.cap = term.cap, : 381s Argument `carry` must be scalar. 381s Calls: unitize_dir ... withVisible -> substr_ctl -> substr2_ctl -> VAL_IN_ENV -> stop2 381s Error in substr2_ctl(x = x, start = start, stop = stop, warn = warn, term.cap = term.cap, : 381s Argument `carry` may not be NA. 381s Calls: unitize_dir ... withVisible -> substr_ctl -> substr2_ctl -> VAL_IN_ENV -> stop2 381s 2/14 interactions.R: substr_ctl(str.0, 2, 4, carry = NA_character_) 381s 2/14 interactions.R: substr_ctl(str.0, 2, 4, carry = character()) 381s Error in substr2_ctl(x = x, start = start, stop = stop, warn = warn, term.cap = term.cap, : 381s Argument `carry` must be scalar. 381s Calls: unitize_dir ... withVisible -> substr_ctl -> substr2_ctl -> VAL_IN_ENV -> stop2 381s 2/14 interactions.R: substr_ctl(str.0, 2, 4, carry = 1) 381s Error in substr2_ctl(x = x, start = start, stop = stop, warn = warn, term.cap = term.cap, : 381s Argument `carry` must be logical or character. 381s Calls: unitize_dir ... withVisible -> substr_ctl -> substr2_ctl -> VAL_IN_ENV -> stop2 381s 2/14 interactions.R: substr_ctl(str.0, 2, 4, carry = Inf) 381s Error in substr2_ctl(x = x, start = start, stop = stop, warn = warn, term.cap = term.cap, : 381s Argument `carry` must be logical or character. 381s Calls: unitize_dir ... withVisible -> substr_ctl -> substr2_ctl -> VAL_IN_ENV -> stop2 381s 2/14 interactions.R: sgrs <- c("A\033[31mB", "C\033[1mD", "E\033[4mF", "G\033[1 381s 2/14 interactions.R: substr_ctl(sgrs, 2, 2, carry = TRUE) 381s [1] "\033[31mB\033[0m" "\033[1;31mD\033[0m" 381s [3] "\033[1;4;31mF\033[0m" "\033[1;4;31;13mH\033[0m" 381s [5] "\033[1;4;31;62;13mJ\033[0m" "\033[1;4;62;13mL\033[0m" 381s [7] "\033[1;4;52;62;13mN\033[0m" "\033[1;4;52;13mP\033[0m" 381s [9] "\033[4;52;13mR\033[0m" "\033[52;13mT\033[0m" 381s [11] "\033[13mU\033[0m" "W" 381s 2/14 interactions.R: normalize_state(str.2, carry = NA_character_) 381s Error in normalize_state(str.2, carry = NA_character_) : 381s Argument `carry` may not be NA. 381s Calls: unitize_dir ... withVisible -> normalize_state -> VAL_IN_ENV -> stop2 381s Error in normalize_state(str.2, carry = character()) : 381s Argument `carry` must be scalar. 381s Calls: unitize_dir ... withVisible -> normalize_state -> VAL_IN_ENV -> stop2 381s 2/14 interactions.R: normalize_state(str.2, carry = character()) 381s Error in normalize_state(str.2, carry = 1) : 381s Argument `carry` must be logical or character. 381s Calls: unitize_dir ... withVisible -> normalize_state -> VAL_IN_ENV -> stop2 381s 2/14 interactions.R: normalize_state(str.2, carry = 1) 381s Error in normalize_state(str.2, carry = Inf) : 381s Argument `carry` must be logical or character. 381s Calls: unitize_dir ... withVisible -> normalize_state -> VAL_IN_ENV -> stop2 381s 2/14 interactions.R: normalize_state(str.2, carry = Inf) 381s Error in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 381s Argument `carry` may not be NA. 381s Calls: unitize_dir ... withVisible -> strwrap_ctl -> strwrap2_ctl -> VAL_IN_ENV -> stop2 381s 2/14 interactions.R: strwrap_ctl(wrp.0, 20, carry = NA_character_) 381s 2/14 interactions.R: strwrap_sgr(wrp.0, 20, carry = character()) 381s Error in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 381s Argument `carry` must be scalar. 381s Calls: unitize_dir ... strwrap_sgr -> strwrap_ctl -> strwrap2_ctl -> VAL_IN_ENV -> stop2 381s 2/14 interactions.R: strwrap2_ctl(wrp.0, 20, carry = 1) 381s Error in strwrap2_ctl(wrp.0, 20, carry = 1) : 381s Argument `carry` must be logical or character. 381s Calls: unitize_dir ... eval -> withVisible -> strwrap2_ctl -> VAL_IN_ENV -> stop2 381s 2/14 interactions.R: strwrap2_sgr(wrp.0, 20, carry = Inf) 381s Error in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 381s Argument `carry` must be logical or character. 381s Calls: unitize_dir ... strwrap2_sgr -> strwrap2_ctl -> VAL_IN_ENV -> stop2 381s 2/14 interactions.R: strwrap_ctl(c("\033[33mA \033[4mB", "\033[44mC D"), carry 381s [1] "\033[33mA\033[0m" "\033[4;33mB\033[0m" "\033[4;33;44mC\033[0m" 381s [4] "\033[4;33;44mD\033[0m" 381s 2/14 interactions.R: unitizer_sect("terminate", { 381s 2/14 interactions.R: str.0 <- c("hel\033[33m", "wo\033[44mrld") 381s 2/14 interactions.R: substr_ctl(str.0, 2, 5, terminate = FALSE) 381s [1] "el\033[33m" "o\033[44mrld" 381s 2/14 interactions.R: substr_sgr(str.0, 2, 5, terminate = FALSE) 381s [1] "el\033[33m" "o\033[44mrld" 381s 2/14 interactions.R: substr2_ctl(str.0, 2, 5, terminate = FALSE) 381s [1] "el\033[33m" "o\033[44mrld" 381s 2/14 interactions.R: substr2_sgr(str.0, 2, 5, terminate = FALSE) 381s [1] "el\033[33m" "o\033[44mrld" 381s 2/14 interactions.R: strwrap_ctl(wrp.0, 20, terminate = FALSE) 381s [1] "once upon \033[44ma time in" "a land far away" 381s [3] "over" "the mountains and" 381s [5] "\033[7msea lived a fair" "creature" 381s [7] "with \033[4mdark itentions" "and a yappy dog." 381s 2/14 interactions.R: strwrap_sgr(wrp.0, 20, terminate = FALSE) 381s [1] "once upon \033[44ma time in" "a land far away" 381s [3] "over" "the mountains and" 381s [5] "\033[7msea lived a fair" "creature" 381s [7] "with \033[4mdark itentions" "and a yappy dog." 381s 2/14 interactions.R: strwrap2_ctl(wrp.0, 20, terminate = FALSE) 381s [1] "once upon \033[44ma time in" "a land far away" 381s [3] "over" "the mountains and" 381s [5] "\033[7msea lived a fair" "creature" 381s [7] "with \033[4mdark itentions" "and a yappy dog." 381s 2/14 interactions.R: strwrap2_sgr(wrp.0, 20, terminate = FALSE) 381s [1] "once upon \033[44ma time in" "a land far away" 381s [3] "over" "the mountains and" 381s [5] "\033[7msea lived a fair" "creature" 381s [7] "with \033[4mdark itentions" "and a yappy dog." 381s 2/14 interactions.R: strtrim_ctl(wrp.0, 20, terminate = FALSE) 381s [1] "once upon \033[44ma time in " "the mountains and \033[7m s" 381s [3] "with \033[4mdark itentions " 381s 2/14 interactions.R: strtrim_sgr(wrp.0, 20, terminate = FALSE) 381s [1] "once upon \033[44ma time in " "the mountains and \033[7m s" 381s [3] "with \033[4mdark itentions " 381s 2/14 interactions.R: strtrim2_ctl(wrp.0, 20, terminate = FALSE) 382s [1] "once upon \033[44ma time in " "the mountains and \033[7m s" 382s [3] "with \033[4mdark itentions " 382s 2/14 interactions.R: strtrim2_sgr(wrp.0, 20, terminate = FALSE) 382s [1] "once upon \033[44ma time in " "the mountains and \033[7m s" 382s [3] "with \033[4mdark itentions " 382s 2/14 interactions.R: strtrim2_sgr(wrp.0, 20, terminate = NA) 382s Error in strtrim2_ctl(x = x, width = width, warn = warn, tabs.as.spaces = tabs.as.spaces, : 382s Argument `terminate` must be TRUE or FALSE 382s Calls: unitize_dir ... strtrim2_sgr -> strtrim2_ctl -> VAL_IN_ENV -> stop2 382s 2/14 interactions.R: unitizer_sect("bridge", { 382s 2/14 interactions.R: fansi:::bridge("\033[42m", "\033[31m") 382s [1] "\033[0;31m" 382s 2/14 interactions.R: fansi:::bridge("\033[42m", "\033[31m", normalize = TRUE) 382s [1] "\033[49m\033[31m" 382s 2/14 interactions.R: fansi:::bridge("", "\033[31m") 382s [1] "\033[31m" 382s 2/14 interactions.R: fansi:::bridge("\033[42m", "") 382s [1] "\033[0m" 382s 2/14 interactions.R: fansi:::bridge("\033[42m", "\033[42m") 382s [1] "" 382s 2/14 interactions.R: end <- c("\033[31", "\033[41m", NA_character_, "\033[44m") 382s 2/14 interactions.R: restart <- c("", NA_character_, "\033[45m", "\033[45m") 382s 2/14 interactions.R: fansi:::bridge(end, restart) 382s [1] "" "" "" "\033[45m" 382s 2/14 interactions.R: base.st <- "%s\033]8;%s;%s\033\\" 382s 2/14 interactions.R: url <- "https://x.yz" 382s 2/14 interactions.R: u0 <- sprintf(base.st, "", "", url) 382s 2/14 interactions.R: fansi:::bridge(paste0("\033[42m", u0), "\033[31m") 382s [1] "\033[0;31m\033]8;;\033\\" 382s 2/14 interactions.R: fansi:::bridge("\033[31m", paste0("\033[42m", u0)) 382s [1] "\033[0;42m\033]8;;https://x.yz\033\\" 382s 2/14 interactions.R: txt <- c("A\033[31mBC", "D\033[39mE\033[42mF") 382s 2/14 interactions.R: `substr_ctl<-`(txt, 2, 2, value = "?", normalize = TRUE, c 382s [1] "A?\033[31mC" "D\033[39m?\033[42mF" 382s 2/14 interactions.R: unitizer_sect("at end / close", { 382s 2/14 interactions.R: x <- c("a\033[31mb", "c", "\033[42md") 382s 2/14 interactions.R: state_at_end(x) 382s [1] "\033[31m" "" "\033[42m" 382s 2/14 interactions.R: state_at_end(x, carry = TRUE) 382s [1] "\033[31m" "\033[31m" "\033[31;42m" 382s 2/14 interactions.R: state_at_end(x, carry = TRUE, normalize = TRUE) 382s [1] "\033[31m" "\033[31m" "\033[31m\033[42m" 382s 2/14 interactions.R: state_at_end("a\033[pb") 382s Warning in state_at_end("a\033[pb") : 382s 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. 382s [1] "" 382s 2/14 interactions.R: state_at_end("a\033[pb", warn = FALSE) 382s [1] "" 382s 2/14 interactions.R: state_at_end(c("\033[42mA", NA_character_, "\033[31mA")) 382s [1] "\033[42m" NA "\033[31m" 382s 2/14 interactions.R: state_at_end(c("\033[42mA", NA_character_, "\033[31mA"), c 382s [1] "\033[42m" NA NA 382s 2/14 interactions.R: close_state(x) 382s [1] "\033[0m" "" "\033[0m" 382s 2/14 interactions.R: close_state(x, normalize = TRUE) 382s [1] "\033[39m" "" "\033[49m" 382s Warning in close_state("a\033[pb") : 382s 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. 382s 2/14 interactions.R: close_state("a\033[pb") 382s [1] "" 382s 2/14 interactions.R: close_state("a\033[pb", warn = FALSE) 382s [1] "" 382s 2/14 interactions.R: state_no_arg <- function(x) { 382s 2/14 interactions.R: x <- "\360" 382s 2/14 interactions.R: Encoding(x) <- "UTF-8" 382s 2/14 interactions.R: state_no_arg(x) 382s [1] "Encountered a malformed UTF-8 sequence at index [1], see `?unhandled_ctl`." 382s 2/14 interactions.R: y <- "\033[45phello" 382s 2/14 interactions.R: state_no_arg(y) 382s [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." 382s 382s 3/14 misc.R: 382s 3/14 misc.R: library(unitizer) 382s 3/14 misc.R: library(fansi) 382s 3/14 misc.R: unitizer_sect("term_cap_test", { 382s 3/14 misc.R: tct <- term_cap_test() 382s bright  -> \033[91;104mbright \033[0m 382s 256  -> \033[38;5;196;48;5;21m256 \033[0m 382s truecolor -> \033[38;2;255;0;0;48;2;0;0;255mtruecolor\033[0m 382s 3/14 misc.R: tct 382s [1] "\033[91;104mbright \033[0m" 382s [2] "\033[38;5;196;48;5;21m256 \033[0m" 382s [3] "\033[38;2;255;0;0;48;2;0;0;255mtruecolor\033[0m" 382s 3/14 misc.R: fansi_lines(LETTERS, step = 6) 382s [1] "\033[37;48;5;23mA\033[39;49m" "\033[37;48;5;29mB\033[39;49m" 382s [3] "\033[30;48;5;35mC\033[39;49m" "\033[30;48;5;41mD\033[39;49m" 382s [5] "\033[30;48;5;47mE\033[39;49m" "\033[37;48;5;53mF\033[39;49m" 382s [7] "\033[37;48;5;59mG\033[39;49m" "\033[37;48;5;65mH\033[39;49m" 382s [9] "\033[30;48;5;71mI\033[39;49m" "\033[30;48;5;77mJ\033[39;49m" 382s [11] "\033[30;48;5;83mK\033[39;49m" "\033[37;48;5;89mL\033[39;49m" 382s [13] "\033[37;48;5;95mM\033[39;49m" "\033[37;48;5;101mN\033[39;49m" 382s [15] "\033[30;48;5;107mO\033[39;49m" "\033[30;48;5;113mP\033[39;49m" 382s [17] "\033[30;48;5;119mQ\033[39;49m" "\033[37;48;5;125mR\033[39;49m" 382s [19] "\033[37;48;5;131mS\033[39;49m" "\033[37;48;5;137mT\033[39;49m" 382s [21] "\033[30;48;5;143mU\033[39;49m" "\033[30;48;5;149mV\033[39;49m" 382s [23] "\033[30;48;5;155mW\033[39;49m" "\033[37;48;5;161mX\033[39;49m" 382s [25] "\033[37;48;5;167mY\033[39;49m" "\033[37;48;5;173mZ\033[39;49m" 382s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 382s 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. 382s 3/14 misc.R: local({ 382s [1] "" "a" 382s 3/14 misc.R: unitizer_sect("add_int", { 382s 3/14 misc.R: fansi:::add_int(1, 1) 382s [1] 2 382s 3/14 misc.R: fansi:::add_int(2^31 - 1, 1) 382s Error in fansi:::add_int(2^31 - 1, 1) : 382s Integer overflow in file utils.c at line 99; contact maintainer. 382s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> 382s 3/14 misc.R: fansi:::add_int(2^31 - 1, 0) 382s [1] 2147483647 382s 3/14 misc.R: fansi:::add_int(-2^31 + 1, 0) 382s [1] -2147483647 382s 3/14 misc.R: fansi:::add_int(-2^31 + 1, -1) 382s Error in fansi:::add_int(-2^31 + 1, -1) : 382s Integer overflow in file utils.c at line 99; contact maintainer. 382s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> 382s 3/14 misc.R: unitizer_sect("unhandled", { 382s 3/14 misc.R: string.0 <- c("\033[41mhello world\033[m", "foo\033[22>m", "\033[9 382s 3/14 misc.R: unhandled_ctl(string.0) 382s index start stop error translated esc 382s 1 2 4 9 invalid-substr FALSE \033[22>m 382s 2 3 1 6 invalid-substr FALSE \033[999m 382s 3 4 5 11 invalid-substr FALSE \033[31#3m 382s 4 5 2 6 non-SGR/hyperlink FALSE \033[31k 382s 5 6 6 7 non-CSI/OSC FALSE \033m 382s 3/14 misc.R: string.1 <- c("foo\033[22>mhello\033[9999m", "a\033[31k", "hello\0 382s 3/14 misc.R: unhandled_ctl(string.1) 382s index start stop error translated esc 382s 1 1 4 9 invalid-substr FALSE \033[22>m 382s 2 1 15 21 invalid-substr FALSE \033[9999m 382s 3 2 2 6 non-SGR/hyperlink FALSE \033[31k 382s 4 3 6 7 non-CSI/OSC FALSE \033m 382s 5 3 9 14 unknown-substr FALSE \033[180m 382s 6 3 21 21 malformed-ESC FALSE \033 382s 3/14 misc.R: unhandled_ctl("hello\033\033\033[45p wor\ald") 382s index start stop error translated esc 382s 1 1 6 7 malformed-ESC FALSE \033\033 382s 2 1 8 12 non-SGR/hyperlink FALSE \033[45p 382s 3 1 17 17 C0 FALSE \a 382s 3/14 misc.R: unhandled_ctl("\033[38;5;220mworld\033[m", "bright") 382s index start stop error translated esc 382s 1 1 1 11 exceed-term-cap FALSE \033[38;5;220m 382s 3/14 misc.R: unhandled_ctl("\033[38;2;10;20;30mworld\033[m", "bright") 382s index start stop error translated esc 382s 1 1 1 16 exceed-term-cap FALSE \033[38;2;10;20;30m 382s Error in unhandled_ctl("\033[38;2;10;20;30mworld\033[m", "bri") : 382s Argument `term.cap` may only contain values in c("all", "bright", "256", "truecolor", "old") 382s Calls: unitize_dir ... withVisible -> unhandled_ctl -> VAL_IN_ENV -> stop2 382s 3/14 misc.R: unhandled_ctl("\033[38;2;10;20;30mworld\033[m", "bri") 382s Error in unhandled_ctl("\033[38;2;10;20;30mworld\033[m", NULL) : 382s Argument `term.cap` must be character. 382s Calls: unitize_dir ... withVisible -> unhandled_ctl -> VAL_IN_ENV -> stop2 382s 3/14 misc.R: unhandled_ctl("\033[38;2;10;20;30mworld\033[m", NULL) 382s 3/14 misc.R: unhandled_ctl("AB\033[34m\033]9\033\\\033[1m\033[2LCD") 382s index start stop error translated esc 382s 1 1 17 20 non-SGR/hyperlink FALSE \033[2L 382s 3/14 misc.R: unhandled_ctl("AB\033[34m\033]9\033[1m\033[2LCD") 382s index start stop error translated esc 382s 1 1 8 20 malformed-CSI/OSC FALSE \033]9\033[1m\033[2LCD 382s 3/14 misc.R: unhandled_ctl("A\033[45#1pB\033[256pC\033[256mD") 382s index start stop error translated esc 382s 1 1 2 8 CSI/OSC-bad-substr FALSE \033[45#1p 382s 2 1 10 15 non-SGR/hyperlink FALSE \033[256p 382s 3 1 17 22 invalid-substr FALSE \033[256m 382s 3/14 misc.R: unhandled_ctl("\033[38m") 382s index start stop error translated esc 382s 1 1 1 5 invalid-substr FALSE \033[38m 382s 3/14 misc.R: unitizer_sect("strtrim", { 382s 3/14 misc.R: strtrim_ctl(" hello world", 7) 382s [1] " hello " 382s 3/14 misc.R: strtrim_ctl("\033[42m hello world\033[m", 7) 382s [1] "\033[42m hello \033[0m" 382s 3/14 misc.R: strtrim_ctl(" hello\nworld", 7) 382s [1] " hello\nw" 382s 3/14 misc.R: strtrim_ctl("\033[42m hello\nworld\033[m", 7) 382s [1] "\033[42m hello\nw\033[0m" 382s 3/14 misc.R: strtrim_ctl("\nhello\nworld", 7) 382s [1] "\nhello\nwo" 382s 3/14 misc.R: strtrim_ctl("\033[42m\nhello\nworld\033[m", 7) 382s [1] "\033[42m\nhello\nwo\033[0m" 382s 3/14 misc.R: strtrim_ctl("\thello\rworld foobar", 12) 382s Warning in strtrim2_ctl(x = x, width = width, warn = warn, ctl = ctl, normalize = normalize, : 382s Argument `x` contains a C0 control character at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 382s [1] "\thello\rworld f" 382s 3/14 misc.R: strtrim_ctl("\033[42m\thello\rworld\033[m foobar", 12) 382s Warning in strtrim2_ctl(x = x, width = width, warn = warn, ctl = ctl, normalize = normalize, : 382s Argument `x` contains a C0 control character at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 382s [1] "\033[42m\thello\rworld\033[m f" 382s 3/14 misc.R: strtrim2_ctl("\033[42m\thello world\033[m foobar", 12, tabs.as.spa 382s [1] "\033[42m hell\033[0m" 382s 3/14 misc.R: strtrim_sgr("\033[42m\the\allo world\033[m foobar", 12, warn = FAL 382s [1] "\033[42m\the\allo worl\033[0m" 382s 3/14 misc.R: strtrim2_sgr("\033[42m\the\allo world\033[m foobar", 12, tabs.as.s 382s [1] "\033[42m he\allo wor\033[0m" 382s 3/14 misc.R: identical(strtrim_ctl(c("AB", NA_character_, "CD"), 1), strtrim(c( 382s [1] TRUE 382s 3/14 misc.R: strtrim_ctl(c("AB", NA_character_, "CD"), 1, carry = TRUE) 382s [1] "A" NA NA 382s 3/14 misc.R: hello2.0 <- "\033[42m\thello world\033[m foobar" 382s 3/14 misc.R: strtrim_ctl(1:3, width = 10) 382s [1] "1" "2" "3" 382s Error in strtrim2_ctl(x = x, width = width, warn = warn, ctl = ctl, normalize = normalize, : 382s Argument `width` must be a positive scalar numeric representable as an integer. 382s Calls: unitize_dir ... eval -> eval -> withVisible -> strtrim_ctl -> strtrim2_ctl 382s Error in strtrim2_ctl(x = x, width = width, warn = warn, ctl = ctl, normalize = normalize, : 382s Argument `width` must be a positive scalar numeric representable as an integer. 382s Calls: unitize_dir ... eval -> eval -> withVisible -> strtrim_ctl -> strtrim2_ctl 382s Error in strtrim2_ctl(x = x, width = width, warn = warn, ctl = ctl, normalize = normalize, : 382s Argument `warn` must be TRUE or FALSE. 382s Calls: unitize_dir ... withVisible -> strtrim_ctl -> strtrim2_ctl -> VAL_IN_ENV -> stop2 382s 3/14 misc.R: strtrim_ctl(hello2.0, width = "35") 382s 3/14 misc.R: strtrim_ctl(hello2.0, width = NA_integer_) 382s 3/14 misc.R: strtrim_ctl(hello2.0, width = 10, warn = NULL) 382s 3/14 misc.R: strtrim_ctl(hello2.0, width = 10, ctl = 0) 382s Error in strtrim2_ctl(x = x, width = width, warn = warn, ctl = ctl, normalize = normalize, : 382s Argument `ctl` must be character. 382s Calls: unitize_dir ... withVisible -> strtrim_ctl -> strtrim2_ctl -> VAL_IN_ENV -> stop2 382s 3/14 misc.R: strtrim_ctl(hello2.0, width = 10, ctl = "bananas") 382s Error in strtrim2_ctl(x = x, width = width, warn = warn, ctl = ctl, normalize = normalize, : 382s Argument `ctl` may contain only values in `c("all", "nl", "c0", "sgr", "csi", "esc", "url", "osc")` 382s Calls: unitize_dir ... withVisible -> strtrim_ctl -> strtrim2_ctl -> VAL_IN_ENV -> stop2 382s 3/14 misc.R: strtrim2_ctl(1:3, width = 10) 382s [1] "1" "2" "3" 382s 3/14 misc.R: strtrim2_ctl(hello2.0, width = "35") 382s Error in strtrim2_ctl(hello2.0, width = "35") : 382s Argument `width` must be a positive scalar numeric representable as an integer. 382s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> strtrim2_ctl 382s 3/14 misc.R: strtrim2_ctl(hello2.0, width = NA_integer_) 382s Error in strtrim2_ctl(hello2.0, width = NA_integer_) : 382s Argument `width` must be a positive scalar numeric representable as an integer. 382s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> strtrim2_ctl 382s Error in strtrim2_ctl(hello2.0, width = 10, warn = NULL) : 382s Argument `warn` must be TRUE or FALSE. 382s Calls: unitize_dir ... eval -> withVisible -> strtrim2_ctl -> VAL_IN_ENV -> stop2 382s 3/14 misc.R: strtrim2_ctl(hello2.0, width = 10, warn = NULL) 382s 3/14 misc.R: strtrim2_ctl(hello2.0, width = 10, tabs.as.spaces = NA) 382s Error in strtrim2_ctl(hello2.0, width = 10, tabs.as.spaces = NA) : 382s Argument `tabs.as.spaces` must be TRUE or FALSE. 382s Calls: unitize_dir ... eval -> withVisible -> strtrim2_ctl -> VAL_IN_ENV -> stop2 382s 3/14 misc.R: strtrim2_ctl(hello2.0, width = 10, tabs.as.spaces = 1:3) 382s Error in strtrim2_ctl(hello2.0, width = 10, tabs.as.spaces = 1:3) : 382s Argument `tabs.as.spaces` must be TRUE or FALSE. 382s Calls: unitize_dir ... eval -> withVisible -> strtrim2_ctl -> VAL_IN_ENV -> stop2 382s Error in strtrim2_ctl(hello2.0, width = 10, tab.stops = -(1:3)) : 382s Argument `tab.stops` must be numeric, strictly positive, and representable as an integer. 382s Calls: unitize_dir ... eval -> withVisible -> strtrim2_ctl -> VAL_IN_ENV -> stop2 382s 3/14 misc.R: strtrim2_ctl(hello2.0, width = 10, tab.stops = -(1:3)) 382s Error in strtrim2_ctl(hello2.0, width = 10, tab.stops = 0) : 382s Argument `tab.stops` must be numeric, strictly positive, and representable as an integer. 382s Calls: unitize_dir ... eval -> withVisible -> strtrim2_ctl -> VAL_IN_ENV -> stop2 382s 3/14 misc.R: strtrim2_ctl(hello2.0, width = 10, tab.stops = 0) 382s Error in strtrim2_ctl(hello2.0, width = 10, ctl = 0) : 382s Argument `ctl` must be character. 382s Calls: unitize_dir ... eval -> withVisible -> strtrim2_ctl -> VAL_IN_ENV -> stop2 382s 3/14 misc.R: strtrim2_ctl(hello2.0, width = 10, ctl = 0) 382s 3/14 misc.R: strtrim2_ctl(hello2.0, width = 10, ctl = "bananas") 382s Error in strtrim2_ctl(hello2.0, width = 10, ctl = "bananas") : 382s Argument `ctl` may contain only values in `c("all", "nl", "c0", "sgr", "csi", "esc", "url", "osc")` 382s Calls: unitize_dir ... eval -> withVisible -> strtrim2_ctl -> VAL_IN_ENV -> stop2 382s 3/14 misc.R: unitizer_sect("enc check", { 382s 3/14 misc.R: x <- y <- "He\237" 382s 3/14 misc.R: Encoding(x) <- "latin1" 382s 3/14 misc.R: fansi:::check_enc(x, 1) 382s Error in fansi:::check_enc(x, 1) : 382s Internal Error: unexpected encoding 2 encountered at index 1. Contact maintainer. 382s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> 382s 3/14 misc.R: Encoding(y) <- "bytes" 382s Error in fansi:::check_enc(y, 1) : 382s Byte encoded string encountered at index 1. Byte encoded strings are not supported. 382s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> 382s 3/14 misc.R: fansi:::check_enc(y, 1) 382s 3/14 misc.R: fansi:::check_enc("hello", 1) 382s [1] TRUE 382s 3/14 misc.R: unitizer_sect("what as int", { 382s 3/14 misc.R: fansi:::ctl_as_int(c(1, 2, 3, 4, 5)) 382s [1] 112 382s 3/14 misc.R: fansi:::ctl_as_int(c(2, 3, 4, 5)) 382s [1] 15 382s 3/14 misc.R: fansi:::ctl_as_int(c(1, 2, 3, 9)) 382s Error in fansi:::ctl_as_int(c(1, 2, 3, 9)) : 382s Internal Error: max ctl value allowed is 6. 382s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> 382s 3/14 misc.R: fansi:::ctl_as_int(c(2, 3, 9)) 382s Error in fansi:::ctl_as_int(c(2, 3, 9)) : 382s Internal Error: max ctl value allowed is 6. 382s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> 382s 3/14 misc.R: unitizer_sect("HTML helper", { 382s 3/14 misc.R: html_esc(character()) 382s character(0) 382s 3/14 misc.R: html_esc(1:10) 382s Error in html_esc(1:10) : Argument `x` must be character, is integer. 382s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> html_esc 382s 3/14 misc.R: html_esc(NA_character_) 382s [1] NA 382s 3/14 misc.R: html_esc("") 382s [1] "<he&llo>" 382s 3/14 misc.R: html_esc("ow&wo") 382s [1] "ow&wo" 382s 3/14 misc.R: html_esc(c("hello", "wors", NA, "")) 382s [1] "hello" "wor<ld>s" NA "" 382s 3/14 misc.R: html_esc(c("he'l\"lo", "wors", NA, "")) 382s [1] "he'l"lo" "wor<ld>s" NA 382s [4] "" 382s 3/14 misc.R: html_esc("<<<<") 382s [1] "<<<<" 382s 3/14 misc.R: html_esc("<123hello>") 382s [1] "<123hello>" 382s 3/14 misc.R: txt <- c("day > night", "hello world") 382s 3/14 misc.R: html_code_block(character()) 382s [1] "
" 382s 3/14 misc.R: html_code_block(txt) 382s [1] "
day > night\nhello world
" 382s 3/14 misc.R: html_code_block(1:10) 382s Error in html_code_block(1:10) : 382s Argument `x` must be character, is integer. 382s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> html_code_block 382s 3/14 misc.R: html_code_block(txt, class = c("not-fansi", "plain")) 382s [1] "
day > night\nhello world
" 382s 3/14 misc.R: html_code_block(txt, class = NULL) 382s Error in html_code_block(txt, class = NULL) : 382s Argument `class` must be character, is NULL. 382s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> html_code_block 382s 3/14 misc.R: html_esc(c("h&e'l\"lo", "wors", NA, ""), "<>") 382s [1] "h&e'l\"lo" "wor<ld>s" NA "" 382s 3/14 misc.R: html_esc(c("h&e'l\"lo", "wors", NA, ""), "><") 382s [1] "h&e'l\"lo" "wor<ld>s" NA "" 382s 3/14 misc.R: html_esc(c("h&e'l\"lo", "wors", NA, ""), "<&>") 382s [1] "h&e'l\"lo" "wor<ld>s" NA "" 382s 3/14 misc.R: html_esc(c("h&e'l\"lo", "wors", NA, ""), "'<&>") 382s [1] "h&e'l\"lo" "wor<ld>s" NA 382s [4] "" 382s 3/14 misc.R: html_esc(c("h&e'l\"lo", "wors", NA, ""), "'<&>\"") 382s [1] "h&e'l"lo" "wor<ld>s" NA 382s [4] "" 382s 3/14 misc.R: html_esc(c("h&e'l\"lo", "wors", NA, ""), "'&>\"<") 382s [1] "h&e'l"lo" "wor<ld>s" NA 382s [4] "" 382s 3/14 misc.R: html_esc(c("h&e'l\"lo", "wors", NA, ""), "") 382s [1] "h&e'l\"lo" "wors" NA "" 382s 3/14 misc.R: html_esc(c("h&e'l\"lo", "wors", NA, ""), "'<&>\"<") 382s [1] "h&e'l"lo" "wor<ld>s" NA 382s [4] "" 382s 3/14 misc.R: html_esc(c("h&e'l\"lo", "wors", NA, ""), character()) 382s Error in html_esc(c("h&e'l\"lo", "wors", NA, ""), character()) : 382s Argument `what` must be scalar character and not NA. 382s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> html_esc 382s Error in html_esc(c("h&e'l\"lo", "wors", NA, ""), NA_character_) : 382s Argument `what` must be scalar character and not NA. 382s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> html_esc 382s 3/14 misc.R: html_esc(c("h&e'l\"lo", "wors", NA, ""), NA_character_) 382s 3/14 misc.R: html_esc(c("h&e'l\"lo", "wors", NA, ""), 1:5) 382s Error in html_esc(c("h&e'l\"lo", "wors", NA, ""), 1:5) : 382s Argument `what` must be character, is integer. 382s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> html_esc 382s 3/14 misc.R: html_esc(c("h&e'l\"lo", "wors", NA, ""), "'<&><") 382s [1] "h&e'l\"lo" "wor<ld>s" NA 382s [4] "" 382s 3/14 misc.R: html_esc(c("h&e'l\"lo", "wors", NA, ""), "'x><") 382s Error in html_esc(c("h&e'l\"lo", "wors", NA, ""), "'x><") : 382s Argument `what` may only contain ASCII characters "&", "<", ">", "'", or "\"". 382s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> html_esc 382s 3/14 misc.R: unitizer_sect("hooks", { 382s 3/14 misc.R: h.1 <- list(set = function(...) cat("Set hooks: ", names(list(...) 382s 3/14 misc.R: h.2 <- list(set = function(...) cat("Set hooks: ", names(list(...) 382s 3/14 misc.R: h.3 <- list(set = function(...) cat("Set hooks: ", names(list(...) 382s 3/14 misc.R: h.4 <- list(set = function(...) stop("error in set"), get = functi 382s 3/14 misc.R: set_knit_hooks(list(1, 2)) 382s Error in set_knit_hooks(list(1, 2)) : 382s Argument `hooks` does not appear to be `knitr::knit_hooks`. 382s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> set_knit_hooks 382s 3/14 misc.R: set_knit_hooks(list(function() NULL, function() NULL)) 382s Error in set_knit_hooks(list(function() NULL, function() NULL)) : 382s Argument `hooks` does not appear to be `knitr::knit_hooks`. 382s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> set_knit_hooks 382s 3/14 misc.R: res1 <- set_knit_hooks(h.1, .test = TRUE) 382s Set hooks: output 382s 382s 3/14 misc.R: res1[["new.hooks"]][["output"]]("hello") 382s [1] "old.hook" 382s 3/14 misc.R: res1[["new.hooks"]][["output"]]("hello\033[31m world") 382s [1] "
hello world
" 382s 3/14 misc.R: res1a <- set_knit_hooks(h.1, split.nl = TRUE, .test = TRUE) 382s Set hooks: output 382s 382s 3/14 misc.R: res1a[["new.hooks"]][["output"]]("hello\033[31m wo\nrld") 382s [1] "
hello wo\nrld
" 382s 3/14 misc.R: p.f.2 <- function(x, y) NULL 382s 3/14 misc.R: p.f.3 <- function(x, class) sprintf("new proc fun, '%s'", class) 382s 3/14 misc.R: p.f.4 <- function(x, class) stop("new proc fun") 382s 3/14 misc.R: set_knit_hooks(h.1, split.nl = "banana") 382s Error in set_knit_hooks(h.1, split.nl = "banana") : 382s Argument `split.n` must be TRUE or FALSE 382s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> set_knit_hooks 382s 3/14 misc.R: set_knit_hooks(h.1, proc.fun = p.f.2) 382s Error in set_knit_hooks(h.1, proc.fun = p.f.2) : 382s Argument `proc.fun` must be a function with formals named `x` and `class`. 382s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> set_knit_hooks 382s Error in set_knit_hooks(h.1, which = "hello") : 382s Argument `which` must be character containing values in c("output", "warning", "error", "message") 382s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> set_knit_hooks 382s 3/14 misc.R: set_knit_hooks(h.1, which = "hello") 382s 3/14 misc.R: set_knit_hooks(h.1, which = NULL) 382s Error in set_knit_hooks(h.1, which = NULL) : 382s Argument `which` must be character containing values in c("output", "warning", "error", "message") 382s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> set_knit_hooks 382s 3/14 misc.R: res2 <- set_knit_hooks(h.1, which = c("output", "message"), class 382s Set hooks: output message 382s 382s 3/14 misc.R: res2[["new.hooks"]][["message"]]("hello") 382s [1] "old.hook" 382s 3/14 misc.R: res2[["new.hooks"]][["message"]]("hello\033[31m world") 382s [1] "new proc fun, 'f-message'" 382s 3/14 misc.R: res2[["new.hooks"]][["output"]]("hello\033[31m world") 382s [1] "new proc fun, 'f-output'" 382s 3/14 misc.R: res3 <- set_knit_hooks(h.1, which = c("message", "warning"), 382s Set hooks: message warning 382s 382s 3/14 misc.R: res3[["new.hooks"]][["warning"]]("hello") 382s [1] "old.hook" 382s 3/14 misc.R: res3[["new.hooks"]][["warning"]]("hello\033[31mworld") 382s Error in proc.fun(x = x, class = class) : new proc fun 382s Error in res3[["new.hooks"]][["warning"]]("hello\033[31mworld") : 382s Argument `proc.fun` for `set_knit_hooks` caused an error when processing output; see prior error. 382s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> 382s 3/14 misc.R: set_knit_hooks(h.2) 382s Set hooks: output 382s Warning in set_knit_hooks(h.2) : 382s 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 382s 382s $output 382s NULL 382s 382s 3/14 misc.R: set_knit_hooks(h.3) 382s Error in hooks$get(hook.name) : error in get 382s Warning in set_knit_hooks(h.3) : 382s 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 382s Set hooks: output 382s 382s $output 382s NULL 382s 382s 3/14 misc.R: set_knit_hooks(h.4) 382s Error in (function (...) : error in set 382s 382s $output 382s function() "old.hook" 382s 382s 382s Warning in set_knit_hooks(h.4) : 382s Failure while trying to set hooks; see prior error; are you sure you passed `knitr::knit_hooks` as the `hooks` argument? 382s 3/14 misc.R: set_knit_hooks(h.1, style = NULL) 382s Error in set_knit_hooks(h.1, style = NULL) : 382s Argument `style` must be character. 382s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> set_knit_hooks 382s 3/14 misc.R: set_knit_hooks(h.1, class = 1:10) 382s Error in set_knit_hooks(h.1, class = 1:10) : 382s Argument `class` should be a character vector the same length as `which`. 382s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> set_knit_hooks 382s 3/14 misc.R: set_knit_hooks(h.1, class = letters) 382s Error in set_knit_hooks(h.1, class = letters) : 382s Argument `class` should be a character vector the same length as `which`. 382s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> set_knit_hooks 382s Error in set_knit_hooks(h.1, which = c("output", "message", "output")) : 382s Argument `which` may not contain duplicate values (output). 382s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> set_knit_hooks 382s 3/14 misc.R: set_knit_hooks(h.1, which = c("output", "message", "output")) 382s 3/14 misc.R: unitizer_sect("output funs", { 382s 3/14 misc.R: fansi_lines(1:3) 382s [1] "\033[37;48;5;18m1\033[39;49m" "\033[37;48;5;19m2\033[39;49m" 382s [3] "\033[37;48;5;20m3\033[39;49m" 382s Error in fansi_lines(1:3, step = "hello") : 382s Argument `step` must be a strictly positive scalar integer. 382s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> fansi_lines 382s 3/14 misc.R: fansi_lines(1:3, step = "hello") 382s 3/14 misc.R: capture.output(fwl("\033[43mhello")) 382s [1] "\033[43mhello" "\033[0m" 382s 3/14 misc.R: unitizer_sect("validation", { 382s 3/14 misc.R: fansi:::VAL_IN_ENV(booboo = "error") 382s Error in fansi:::VAL_IN_ENV(booboo = "error") : 382s Internal Error: some arguments to validate unknown 382s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> 382s 382s 4/14 nchar.R: 382s 4/14 nchar.R: library(fansi) 382s 4/14 nchar.R: unitizer_sect("basic tests", { 382s 4/14 nchar.R: nchar_ctl(c("hello", "world")) 382s [1] 5 5 382s 4/14 nchar.R: nchar_ctl(c("hello", "world"), type = "width") 382s [1] 5 5 382s 4/14 nchar.R: nchar_ctl(c("hello", "world"), type = "wi") 382s [1] 5 5 382s 4/14 nchar.R: na.world <- c("hello", NA, "world", "") 382s 4/14 nchar.R: identical(nchar_ctl(na.world), nchar(na.world)) 382s [1] TRUE 382s 4/14 nchar.R: identical(nchar_ctl(na.world, keepNA = FALSE), nchar(na.world, 382s [1] TRUE 382s 4/14 nchar.R: identical(nchar_ctl(na.world, keepNA = NA, type = "width"), nchar 382s [1] TRUE 382s 4/14 nchar.R: identical(nchar_ctl(na.world, keepNA = TRUE, type = "width"), 382s [1] TRUE 382s 4/14 nchar.R: identical(nzchar_ctl(na.world), nzchar(na.world)) 382s [1] TRUE 382s 4/14 nchar.R: identical(nzchar_ctl(na.world, keepNA = TRUE), nzchar(na.world, 382s [1] TRUE 382s 4/14 nchar.R: identical(nzchar_ctl(na.world, keepNA = NA), nzchar(na.world, 382s [1] TRUE 382s 4/14 nchar.R: identical(nchar_ctl(na.world, type = "bytes"), nchar(na.world, 382s [1] TRUE 382s 4/14 nchar.R: identical(nchar_ctl(na.world, keepNA = FALSE, type = "bytes"), 382s [1] TRUE 382s 4/14 nchar.R: identical(nchar_ctl(na.world, keepNA = TRUE, type = "bytes"), 382s [1] TRUE 382s 4/14 nchar.R: w.names <- c(a = "hello", b = "world") 382s 4/14 nchar.R: identical(nchar_ctl(w.names), nchar(w.names)) 382s [1] TRUE 382s 4/14 nchar.R: w.dim <- matrix(letters[1:6], 2, 3, dimnames = list(X = LETTERS[2 382s 4/14 nchar.R: identical(nchar_ctl(w.dim), nchar(w.dim)) 382s [1] TRUE 382s 4/14 nchar.R: hw.sgr <- c("hello", "wo\033[42mrld", "\033[31m", "mo\non", "star 382s 4/14 nchar.R: identical(nchar_ctl(hw.sgr), nchar(strip_ctl(hw.sgr))) 382s [1] TRUE 382s 4/14 nchar.R: x <- "\360" 382s 4/14 nchar.R: if (isTRUE(l10n_info()[["UTF-8"]])) { 382s [1] TRUE 382s 4/14 nchar.R: Encoding(x) <- "UTF-8" 382s 4/14 nchar.R: identical(nzchar_ctl(x), nzchar(x)) 382s [1] TRUE 382s 4/14 nchar.R: nchar_ctl(x) 382s Error in nchar_ctl_internal(x = x, type.int = TYPE.INT, allowNA = allowNA, : 382s Argument `x` contains a malformed UTF-8 sequence at index [1], see `?unhandled_ctl`. 382s Calls: unitize_dir ... eval -> withVisible -> nchar_ctl -> nchar_ctl_internal 382s 4/14 nchar.R: nchar_ctl(c("", x)) 382s Error in nchar_ctl_internal(x = x, type.int = TYPE.INT, allowNA = allowNA, : 382s Argument `x` contains a malformed UTF-8 sequence at index [2], see `?unhandled_ctl`. 382s Calls: unitize_dir ... eval -> withVisible -> nchar_ctl -> nchar_ctl_internal 382s 4/14 nchar.R: identical(nchar_ctl(x, allowNA = TRUE), nchar(x, allowNA = TRUE)) 382s [1] TRUE 382s 4/14 nchar.R: unitizer_sect("with escapes", { 382s 4/14 nchar.R: esc.2 <- "\n\r\033P\033[31m\a" 382s 4/14 nchar.R: nchar_ctl(esc.2) 382s [1] 0 382s 4/14 nchar.R: nchar_ctl(esc.2, warn = FALSE) 382s [1] 0 382s 4/14 nchar.R: nzchar_ctl(esc.2) 382s [1] FALSE 382s 4/14 nchar.R: nzchar_ctl(esc.2, warn = FALSE) 382s [1] FALSE 382s 4/14 nchar.R: nchar_ctl("\033[31#mworld", ctl = "sgr") 382s [1] 5 382s 4/14 nchar.R: nchar_ctl("\033[31#mworld", ctl = "csi") 382s [1] 11 382s 4/14 nchar.R: unitizer_sect("ctl", { 382s 4/14 nchar.R: esc.3 <- "\n\t\033[31m\033[41!m\033p" 382s 4/14 nchar.R: nzchar_ctl(esc.3, warn = FALSE) 382s [1] FALSE 382s 4/14 nchar.R: nzchar_ctl(sprintf("%sa", esc.3), warn = FALSE) 382s [1] TRUE 382s 4/14 nchar.R: nzchar_ctl(esc.3, ctl = c("sgr", "csi", "esc"), warn = FALSE) 382s [1] TRUE 382s 4/14 nchar.R: nzchar_ctl(esc.3, ctl = c("c0", "nl"), warn = FALSE) 382s [1] TRUE 382s 4/14 nchar.R: nzchar_ctl("\n\t\n", ctl = c("nl"), warn = FALSE) 382s [1] TRUE 382s 4/14 nchar.R: nzchar_ctl("\t\n", ctl = c("nl"), warn = FALSE) 382s [1] TRUE 382s 4/14 nchar.R: unitizer_sect("corner cases", { 382s 4/14 nchar.R: ncbad <- c("\033\200", "\033[31;\200m", "\033[31;\200p", "\033]8; 382s 4/14 nchar.R: Encoding(ncbad) <- "UTF-8" 382s 4/14 nchar.R: nchar_ctl(ncbad) 382s [1] 0 0 0 0 0 382s 4/14 nchar.R: fansi:::set_rver(numeric_version("3.2.1")) 382s 4/14 nchar.R: nzchar_ctl(c("\033[31mA", "\033[31m")) 382s [1] TRUE FALSE 382s 4/14 nchar.R: nchar_ctl(c("\033[31mA", "\033[31m")) 382s [1] 1 0 382s 4/14 nchar.R: fansi:::set_rver() 382s 4/14 nchar.R: unitizer_sect("bad inputs", { 382s 4/14 nchar.R: nchar_ctl(9:10, warn = 1:3) 382s Error in nchar_ctl(9:10, warn = 1:3) : 382s Argument `warn` must be TRUE or FALSE. 382s Calls: unitize_dir ... eval -> withVisible -> nchar_ctl -> VAL_IN_ENV -> stop2 382s 4/14 nchar.R: nchar_ctl("hello\033[31m world", allowNA = 1:3) 382s Error in nchar_ctl("hello\033[31m world", allowNA = 1:3) : 382s Argument `allowNA` must be interpretable as a scalar logical. 382s Calls: unitize_dir ... eval -> withVisible -> nchar_ctl -> VAL_IN_ENV -> stop2 382s 4/14 nchar.R: nchar_ctl("hello\033[31m world", keepNA = 1:3) 382s Error in nchar_ctl("hello\033[31m world", keepNA = 1:3) : 382s Argument `keepNA` must be interpretable as a scalar logical. 382s Calls: unitize_dir ... eval -> withVisible -> nchar_ctl -> VAL_IN_ENV -> stop2 382s 4/14 nchar.R: nchar_ctl("hello\033[31m world", strip = 1:3) 382s Parameter `strip` has been deprecated; use `ctl` instead. 382s Error in nchar_ctl("hello\033[31m world", strip = 1:3) : 382s Argument `ctl` must be character. 382s Calls: unitize_dir ... eval -> withVisible -> nchar_ctl -> VAL_IN_ENV -> stop2 382s 4/14 nchar.R: nchar_ctl("hello\033[31m world", ctl = "bananas") 382s Error in nchar_ctl("hello\033[31m world", ctl = "bananas") : 382s Argument `ctl` may contain only values in `c("all", "nl", "c0", "sgr", "csi", "esc", "url", "osc")` 382s Calls: unitize_dir ... eval -> withVisible -> nchar_ctl -> VAL_IN_ENV -> stop2 383s 4/14 nchar.R: nchar_ctl("hello\033[31m world", type = NA_character_) 383s Error in nchar_ctl("hello\033[31m world", type = NA_character_) : 383s Argument `type` must partial match one of c("chars", "width", "graphemes", "bytes") 383s Calls: unitize_dir ... eval -> withVisible -> nchar_ctl -> VAL_IN_ENV -> stop2 383s 4/14 nchar.R: nchar_ctl("hello\033[31m world", type = 1) 383s Error in nchar_ctl("hello\033[31m world", type = 1) : 383s Argument `type` must partial match one of c("chars", "width", "graphemes", "bytes") 383s Calls: unitize_dir ... eval -> withVisible -> nchar_ctl -> VAL_IN_ENV -> stop2 383s 4/14 nchar.R: nchar_ctl("hello\033[31m world", type = "bananas") 383s Error in nchar_ctl("hello\033[31m world", type = "bananas") : 383s Argument `type` must partial match one of c("chars", "width", "graphemes", "bytes") 383s Calls: unitize_dir ... eval -> withVisible -> nchar_ctl -> VAL_IN_ENV -> stop2 383s 4/14 nchar.R: nzchar_ctl(9:10, warn = 1:3) 383s Error in nzchar_ctl(9:10, warn = 1:3) : 383s Argument `warn` must be TRUE or FALSE. 383s Calls: unitize_dir ... eval -> withVisible -> nzchar_ctl -> VAL_IN_ENV -> stop2 383s 4/14 nchar.R: nzchar_ctl("hello\033[31m world", keepNA = 1:3) 383s Error in nzchar_ctl("hello\033[31m world", keepNA = 1:3) : 383s Argument `keepNA` must be interpretable as a scalar logical. 383s Calls: unitize_dir ... eval -> withVisible -> nzchar_ctl -> VAL_IN_ENV -> stop2 383s 4/14 nchar.R: nzchar_ctl("hello\033[31m world", ctl = 1) 383s Error in nzchar_ctl("hello\033[31m world", ctl = 1) : 383s Argument `ctl` must be character. 383s Calls: unitize_dir ... eval -> withVisible -> nzchar_ctl -> VAL_IN_ENV -> stop2 383s Error in nzchar_ctl("hello\033[31m world", ctl = "bananas") : 383s Argument `ctl` may contain only values in `c("all", "nl", "c0", "sgr", "csi", "esc", "url", "osc")` 383s Calls: unitize_dir ... eval -> withVisible -> nzchar_ctl -> VAL_IN_ENV -> stop2 383s 4/14 nchar.R: nzchar_ctl("hello\033[31m world", ctl = "bananas") 383s 383s 5/14 normalize.R: 383s 5/14 normalize.R: library(fansi) 383s 5/14 normalize.R: unitizer_sect("no expansion", { 383s 5/14 normalize.R: normalize_state("A\033[31mB") 383s [1] "A\033[31mB" 383s 5/14 normalize.R: normalize_state("\033[31mAB") 383s [1] "\033[31mAB" 383s 5/14 normalize.R: normalize_state("AB\033[31m") 383s [1] "AB\033[31m" 383s 5/14 normalize.R: normalize_state(c("A\033[31mB", "AB")) 383s [1] "A\033[31mB" "AB" 383s 5/14 normalize.R: normalize_state(c("\033[31mAB", "AB")) 383s [1] "\033[31mAB" "AB" 383s 5/14 normalize.R: normalize_state(c("AB\033[31m", "AB")) 383s [1] "AB\033[31m" "AB" 383s 5/14 normalize.R: unitizer_sect("simple expansion", { 383s 5/14 normalize.R: normalize_state(c("A\033[31;42mB", "AB")) 383s [1] "A\033[31m\033[42mB" "AB" 383s 5/14 normalize.R: normalize_state(c("\033[31;42mAB", "AB")) 383s [1] "\033[31m\033[42mAB" "AB" 383s 5/14 normalize.R: normalize_state(c("AB\033[31;42m", "AB")) 383s [1] "AB\033[31m\033[42m" "AB" 383s 5/14 normalize.R: normalize_state(c("A\033[31;42mB", "A\033[39;4mB")) 383s [1] "A\033[31m\033[42mB" "A\033[4mB" 383s 5/14 normalize.R: normalize_state(c("A\033[31;42mB", "\033[39;4mAB")) 383s [1] "A\033[31m\033[42mB" "\033[4mAB" 383s 5/14 normalize.R: normalize_state(c("AB\033[31;42m", "A\033[39;4mB")) 383s [1] "AB\033[31m\033[42m" "A\033[4mB" 383s 5/14 normalize.R: normalize_state(c("AB\033[31;42m", "A\033[0;4mB")) 383s [1] "AB\033[31m\033[42m" "A\033[4mB" 383s 5/14 normalize.R: normalize_state(c("AB\033[31;42m", "AB\033[0;4m")) 383s [1] "AB\033[31m\033[42m" "AB\033[4m" 383s 5/14 normalize.R: normalize_state(c("AB\033[31;42m", "\033[0;4mAB")) 383s [1] "AB\033[31m\033[42m" "\033[4mAB" 383s 5/14 normalize.R: normalize_state(c("AB\033[31;42m", NA, "\033[0;4mAB")) 383s [1] "AB\033[31m\033[42m" NA "\033[4mAB" 383s 5/14 normalize.R: normalize_state(c("AB\033[31;42m", NA, "\033[0;4mAB"), carry 383s [1] "AB\033[31m\033[42m" NA NA 383s 5/14 normalize.R: unitizer_sect("superflous codes", { 383s 5/14 normalize.R: normalize_state(c("A\033[31;44;38;5;226;36mBC\033[mD")) 383s [1] "A\033[36m\033[44mBC\033[39m\033[49mD" 383s 5/14 normalize.R: normalize_state(c("A\033[31;44;38;5;226;36m\033[0mBCD")) 383s [1] "ABCD" 383s 5/14 normalize.R: unitizer_sect("broad code test", { 383s 5/14 normalize.R: normalize_state(c("A\033[33;44mB\033[1;3;4mCD\033[mE")) 383s [1] "A\033[33m\033[44mB\033[1m\033[3m\033[4mCD\033[22m\033[23m\033[24m\033[39m\033[49mE" 383s 5/14 normalize.R: normalize_state("A\033[33;44mB\033[1;2;3;4;5;6;7;8;9;11;21;26 383s [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" 383s 5/14 normalize.R: unhandled_ctl(normalize_state("A\033[33;44mB\033[1;2;3;4;5;6; 383s [1] index start stop error translated esc 383s <0 rows> (or 0-length row.names) 383s 5/14 normalize.R: normalize_state("A\033[33;44mB\033[1;2;3;4;5;6;7;8;9;11;21;26 383s [1] "A\033[33m\033[44mB\033[39m\033[49mC" 383s 5/14 normalize.R: normalize_state("A\033[33;44mB\033[1;2;3;4;5;6;7;8;9;11;21;26 383s [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" 383s 5/14 normalize.R: unitizer_sect("errors and warnings", { 383s 5/14 normalize.R: normalize_state(list(1, 2, 3)) 383s [1] "1" "2" "3" 383s 5/14 normalize.R: x <- c("A\033[38;2;100;150;3;36mBC\033[mD") 383s 5/14 normalize.R: normalize_state(x, term.cap = c("old")) 383s [1] "A\033[2m\033[3m\033[36mBC\033[22m\033[23m\033[39mD" 383s Warning in normalize_state(x, term.cap = c("old")) : 383s 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. 383s 5/14 normalize.R: normalize_state(x, term.cap = c("bright", "old")) 383s [1] "A\033[2m\033[3m\033[36m\033[100mBC\033[22m\033[23m\033[39m\033[49mD" 383s Warning in normalize_state(x, term.cap = c("bright", "old")) : 383s 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. 383s Warning in normalize_state(x, term.cap = character()) : 383s 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. 383s 5/14 normalize.R: normalize_state(x, term.cap = character()) 383s [1] "A\033[36mBC\033[39mD" 383s 5/14 normalize.R: normalize_state(x, term.cap = c("bright")) 383s Warning in normalize_state(x, term.cap = c("bright")) : 383s 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. 383s [1] "A\033[36mBC\033[39mD" 383s 5/14 normalize.R: normalize_state(x, term.cap = c("bright", "256", "truecolor") 383s [1] "A\033[36mBC\033[39mD" 383s 5/14 normalize.R: substr_ctl(x, 1, 2, normalize = "yeah baby") 383s Error in substr2_ctl(x = x, start = start, stop = stop, warn = warn, term.cap = term.cap, : 383s Argument `normalize` must be TRUE or FALSE. 383s Calls: unitize_dir ... withVisible -> substr_ctl -> substr2_ctl -> VAL_IN_ENV -> stop2 383s 5/14 normalize.R: substr_ctl(x, 1, 2, normalize = NA) 383s Error in substr2_ctl(x = x, start = start, stop = stop, warn = warn, term.cap = term.cap, : 383s Argument `normalize` must be TRUE or FALSE. 383s Calls: unitize_dir ... withVisible -> substr_ctl -> substr2_ctl -> VAL_IN_ENV -> stop2 383s 5/14 normalize.R: unitizer_sect("in functions", { 383s 5/14 normalize.R: string1 <- "hello \033[33;44mblue world" 383s 5/14 normalize.R: string2 <- "\033[4;1mgoodbye\033[7m white \033[mmoon" 383s 5/14 normalize.R: string3 <- c(string1, string2) 383s 5/14 normalize.R: strwrap_ctl(string1, 11, normalize = TRUE) 383s [1] "hello \033[33m\033[44mblue\033[39m\033[49m" 383s [2] "\033[33m\033[44mworld\033[39m\033[49m" 383s 5/14 normalize.R: strwrap_ctl(string2, 11, normalize = TRUE) 383s [1] "\033[1m\033[4mgoodbye\033[22m\033[24m" 383s [2] "\033[1m\033[4m\033[7mwhite \033[22m\033[24m\033[27mmoon" 383s 5/14 normalize.R: strwrap_ctl(string3, 11, normalize = TRUE) 383s [1] "hello \033[33m\033[44mblue\033[39m\033[49m" 383s [2] "\033[33m\033[44mworld\033[39m\033[49m" 383s [3] "\033[1m\033[4mgoodbye\033[22m\033[24m" 383s [4] "\033[1m\033[4m\033[7mwhite \033[22m\033[24m\033[27mmoon" 383s 5/14 normalize.R: strwrap_ctl(string3, 11, normalize = TRUE, simplify = FALSE) 383s [[1]] 383s [1] "hello \033[33m\033[44mblue\033[39m\033[49m" 383s [2] "\033[33m\033[44mworld\033[39m\033[49m" 383s 383s [[2]] 383s [1] "\033[1m\033[4mgoodbye\033[22m\033[24m" 383s [2] "\033[1m\033[4m\033[7mwhite \033[22m\033[24m\033[27mmoon" 383s 383s 5/14 normalize.R: strwrap2_ctl(string3, 11, normalize = TRUE, pad.end = " ") 383s [1] "hello \033[33m\033[44mblue\033[39m\033[49m" 383s [2] "\033[33m\033[44mworld \033[39m\033[49m" 383s [3] "\033[1m\033[4mgoodbye\033[7m \033[22m\033[24m\033[27m" 383s [4] "\033[1m\033[4m\033[7mwhite \033[22m\033[24m\033[27mmoon" 383s 5/14 normalize.R: strwrap_sgr(string3, 11, normalize = TRUE) 383s [1] "hello \033[33m\033[44mblue\033[39m\033[49m" 383s [2] "\033[33m\033[44mworld\033[39m\033[49m" 383s [3] "\033[1m\033[4mgoodbye\033[22m\033[24m" 383s [4] "\033[1m\033[4m\033[7mwhite \033[22m\033[24m\033[27mmoon" 383s 5/14 normalize.R: strwrap2_sgr(string3, 11, normalize = TRUE, pad.end = " ") 383s [1] "hello \033[33m\033[44mblue\033[39m\033[49m" 383s [2] "\033[33m\033[44mworld \033[39m\033[49m" 383s [3] "\033[1m\033[4mgoodbye\033[7m \033[22m\033[24m\033[27m" 383s [4] "\033[1m\033[4m\033[7mwhite \033[22m\033[24m\033[27mmoon" 383s 5/14 normalize.R: strtrim_sgr(string3, 8, normalize = TRUE) 383s [1] "hello \033[33m\033[44mbl\033[39m\033[49m" 383s [2] "\033[1m\033[4mgoodbye\033[7m \033[22m\033[24m\033[27m" 383s 5/14 normalize.R: strtrim_sgr(string3, 8, normalize = TRUE) 383s [1] "hello \033[33m\033[44mbl\033[39m\033[49m" 383s [2] "\033[1m\033[4mgoodbye\033[7m \033[22m\033[24m\033[27m" 383s 5/14 normalize.R: substr_ctl("\033[33;44mhello\033[m world", 3, 8, normalize = 383s [1] "\033[33m\033[44mllo\033[39m\033[49m wo" 383s 5/14 normalize.R: substr2_ctl("\033[33;44mhello\033[m world", 3, 8, normalize = 383s [1] "\033[33m\033[44mllo\033[39m\033[49m wo" 383s 5/14 normalize.R: substr_sgr("\033[33;44mhello\033[m world", 3, 8, normalize = 383s [1] "\033[33m\033[44mllo\033[39m\033[49m wo" 383s 5/14 normalize.R: substr2_sgr("\033[33;44mhello\033[m world", 3, 8, normalize = 383s [1] "\033[33m\033[44mllo\033[39m\033[49m wo" 383s 5/14 normalize.R: substr_ctl(string3, c(3, 3), c(8, 15), normalize = TRUE) 383s [1] "llo \033[33m\033[44mbl\033[39m\033[49m" 383s [2] "\033[1m\033[4modbye\033[7m white \033[22m\033[24m\033[27mm" 383s 5/14 normalize.R: strsplit_ctl(string3, " ", normalize = TRUE) 383s [[1]] 383s [1] "hello" 383s [2] "\033[33m\033[44mblue\033[39m\033[49m" 383s [3] "\033[33m\033[44mworld\033[39m\033[49m" 383s 383s [[2]] 383s [1] "\033[1m\033[4mgoodbye\033[22m\033[24m" 383s [2] "\033[1m\033[4m\033[7mwhite\033[22m\033[24m\033[27m" 383s [3] "moon" 383s 383s 383s 6/14 overflow.R: 383s 6/14 overflow.R: library(fansi) 383s 6/14 overflow.R: old_max <- fansi:::set_int_max(15) 383s 6/14 overflow.R: unitizer_sect("tabs", { 383s 6/14 overflow.R: tabs_as_spaces("\t1234567") 383s [1] " 1234567" 383s 6/14 overflow.R: tryCatch(tabs_as_spaces("\t12345678"), error = conditionMessag 383s [1] "Converting tabs to spaces will cause string to be longer than allowed INT_MAX." 383s 6/14 overflow.R: invisible(fansi:::set_int_max(12)) 383s 6/14 overflow.R: tabs_as_spaces(c("\t", "\t123")) 383s [1] " " " 123" 383s 6/14 overflow.R: unitizer_sect("wrap", { 383s 6/14 overflow.R: invisible(fansi:::set_int_max(15)) 383s 6/14 overflow.R: string <- "0123456789" 383s 6/14 overflow.R: strwrap_ctl(string, 16) 383s [1] "0123456789" 383s 6/14 overflow.R: strwrap2_ctl(string, 16, pad.end = " ") 383s [1] "0123456789 " 383s 6/14 overflow.R: tce(strwrap2_ctl(string, 17, pad.end = " ")) 383s [1] "Adding padding will create string longer than INT_MAX at index [1]. Try again with smaller strings." 383s 6/14 overflow.R: strwrap_ctl(string, 16, prefix = "-----") 383s [1] "-----0123456789" 383s 6/14 overflow.R: tce(strwrap_ctl(string, 16, prefix = "------")) 383s [1] "Adding prefix characters will create string longer than INT_MAX at index [1]. Try again with smaller strings." 383s 6/14 overflow.R: strwrap_ctl(string, 16, indent = 5) 383s [1] " 0123456789" 383s 6/14 overflow.R: tce(strwrap_ctl(string, 16, indent = 6)) 383s [1] "Adding prefix characters will create string longer than INT_MAX at index [1]. Try again with smaller strings." 383s 6/14 overflow.R: strwrap_ctl(string, 16, indent = 2, prefix = "---") 383s [1] "--- 0123456789" 383s 6/14 overflow.R: tce(strwrap_ctl(string, 16, indent = 3, prefix = "---")) 383s [1] "Adding prefix characters will create string longer than INT_MAX at index [1]. Try again with smaller strings." 383s 6/14 overflow.R: string2 <- "012345678901234" 383s 6/14 overflow.R: string3 <- "0123456789012345" 383s 6/14 overflow.R: strwrap_ctl(string2, 16) 383s [1] "012345678901234" 383s 6/14 overflow.R: tce(strwrap_ctl(string3, 16)) 383s [1] "Strings longer than INT_MAX not supported (length 16 at index 1)." 383s 6/14 overflow.R: string4 <- "\033[31m0123456789" 383s 6/14 overflow.R: tce(strwrap_ctl(string4, 16)) 383s [1] "Generating closing SGR will create string longer than INT_MAX at index [1]. Try again with smaller strings." 383s 6/14 overflow.R: invisible(fansi:::set_int_max(9)) 383s 6/14 overflow.R: tce(strwrap_ctl("A\033[31m a", 5)) 383s [1] "Generating closing SGR will create string longer than INT_MAX at index [1]. Try again with smaller strings." 383s 6/14 overflow.R: unitizer_sect("html", { 383s 6/14 overflow.R: invisible(fansi:::set_int_max(38)) 383s 6/14 overflow.R: sgr_to_html("\033[31ma") 383s [1] "a" 383s 6/14 overflow.R: tce(sgr_to_html("\033[31mab")) 383s [1] "Expanding SGR sequences to HTML will create string longer than INT_MAX at index [1]. Try again with smaller strings." 383s 6/14 overflow.R: tce(sgr_to_html("\033[31m\033[42mhello")) 383s [1] "Expanding SGR sequences to HTML will create string longer than INT_MAX at index [1]. Try again with smaller strings." 383s 6/14 overflow.R: invisible(fansi:::set_int_max(57)) 383s 6/14 overflow.R: tce(sgr_to_html("\033[31m\033[42mhello", classes = TRUE)) 383s [1] "Expanding SGR sequences to HTML will create string longer than INT_MAX at index [1]. Try again with smaller strings." 383s 6/14 overflow.R: invisible(fansi:::set_int_max(58)) 383s 6/14 overflow.R: (x <- sgr_to_html("\033[31m\033[42mhello", classes = TRUE)) 383s [1] "hello" 383s 6/14 overflow.R: nchar(x) 383s [1] 58 383s 6/14 overflow.R: invisible(fansi:::set_int_max(4)) 383s 6/14 overflow.R: tce(sgr_to_html("hello")) 383s [1] "Strings longer than INT_MAX not supported (length 5 at index 1)." 383s 6/14 overflow.R: tce(html_esc("hello")) 383s [1] "Strings longer than INT_MAX not supported (length 5 at index 1)." 383s 6/14 overflow.R: tce(html_esc("<")) 383s [1] "<" 383s 6/14 overflow.R: tce(html_esc(" eval -> eval -> withVisible -> 383s 6/14 overflow.R: invisible(fansi:::set_int_max(130)) 383s 6/14 overflow.R: fansi:::size_buff(c(0L, 127L, 128L, 64L, 200L, 1024L)) 383s 6/14 overflow.R: invisible(fansi:::set_int_max(64)) 383s Error in fansi:::size_buff(c(0L, 127L, 128L, 64L, 200L, 1024L)) : 383s Internal Error: max allowed buffer size is INT_MAX + 1. (req: 201 vs lim: 131), in FANSI_size_buff_ext. 383s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> 383s 6/14 overflow.R: fansi:::size_buff(c(0L, 32L, 63L, 64L)) 383s [1] 1 33 65 65 383s 6/14 overflow.R: fansi:::size_buff(c(0L, 32L, 63L, 65L)) 383s Error in fansi:::size_buff(c(0L, 32L, 63L, 65L)) : 383s Internal Error: max allowed buffer size is INT_MAX + 1. (req: 66 vs lim: 65), in FANSI_size_buff_ext. 383s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> 383s 6/14 overflow.R: invisible(fansi:::set_int_max(old_max)) 383s 6/14 overflow.R: dat <- fansi:::size_buff_prot_test() 383s Warning in fansi:::size_buff_prot_test() : 383s Unable to release buffer allocated by FANSI_size_buff_prot_test while in native code. Buffer will be released on return to R. 383s Warning in fansi:::size_buff_prot_test() : 383s Unable to release buffer allocated by FANSI_size_buff_prot_test while in native code. Buffer will be released on return to R. 383s 6/14 overflow.R: dat["first", "self"] == dat["smaller 1.0", "self"] 383s [1] TRUE 383s 6/14 overflow.R: dat["new buff", "prev"] == dat["grow 1.0", "self"] 383s [1] TRUE 383s 6/14 overflow.R: dat["new buff", "prev"] != dat["new buff", "self"] 383s [1] TRUE 383s 6/14 overflow.R: dat["smaller 1.1", "self"] == dat["grow 1.0", "self"] 383s [1] TRUE 383s 6/14 overflow.R: dat["smaller 2.0", "self"] == dat["new buff", "self"] 383s [1] TRUE 383s 6/14 overflow.R: dat["smaller 2.0", "prev"] == dat["new buff", "prev"] 383s [1] TRUE 383s 6/14 overflow.R: dat["smaller 2.0", "prev"] == dat["grow 2.0", "prev"] 383s [1] TRUE 383s 6/14 overflow.R: dat["grow 1.1", "prev"] == dat["grow 2.0", "self"] 383s [1] TRUE 383s 6/14 overflow.R: dat["grow 2.1", "prev"] == dat["grow 1.1", "self"] 383s [1] TRUE 383s 6/14 overflow.R: unitizer_sect("misc", { 383s 6/14 overflow.R: invisible(fansi:::set_int_max(5)) 383s 6/14 overflow.R: substr_ctl("\033[43mA B", 5, 5) 383s Error in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 383s Strings longer than INT_MAX not supported (length 8 at index 1). 383s Calls: unitize_dir ... withVisible -> substr_ctl -> substr2_ctl -> substr_ctl_internal 383s 6/14 overflow.R: substr_ctl("12345", 1, 5) 383s [1] "12345" 383s 6/14 overflow.R: substr_ctl("123456", 1, 6) 383s Error in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 383s Strings longer than INT_MAX not supported (length 6 at index 1). 383s Calls: unitize_dir ... withVisible -> substr_ctl -> substr2_ctl -> substr_ctl_internal 383s 6/14 overflow.R: fansi:::reset_limits() 383s [1] TRUE 383s 6/14 overflow.R: unitizer_sect("R_len_t", { 383s 6/14 overflow.R: old_rlent <- fansi:::set_rlent_max(5) 383s 6/14 overflow.R: tabs_as_spaces("A\tB") 383s Error in tabs_as_spaces("A\tB") : 383s Attempting to create CHARSXP longer than R_LEN_T_MAX at index [1]. 383s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> tabs_as_spaces 383s 6/14 overflow.R: new_rlent <- fansi:::set_rlent_max(old_rlent) 383s 6/14 overflow.R: fansi:::reset_limits() 383s [1] TRUE 383s 6/14 overflow.R: unitizer_sect("internal", { 383s 6/14 overflow.R: tce(.Call(fansi:::FANSI_buff_test_reset)) 383s [1] "Internal Error: attempt to size buffer w/o reset in FANSI_buff_test_reset." 383s 6/14 overflow.R: tce(.Call(fansi:::FANSI_buff_test_copy_overflow)) 383s [1] "Internal Error: exceeded target buffer size in _copy." 383s 6/14 overflow.R: tce(.Call(fansi:::FANSI_buff_test_mcopy_overflow)) 383s [1] "Internal Error: exceeded target buffer size in _mcopy." 383s 6/14 overflow.R: tce(.Call(fansi:::FANSI_buff_test_fill_overflow)) 383s [1] "Internal Error: exceeded allocated buffer in _fill." 383s 383s 7/14 strip.R: 383s 7/14 strip.R: library(fansi) 383s 7/14 strip.R: unitizer_sect("Strip ansi", { 383s 7/14 strip.R: strip_ctl(sprintf("hello %sworld%s", red, end)) 383s [1] "hello world" 383s 7/14 strip.R: strip_ctl(sprintf("he%sllo %sworld", red, end)) 383s [1] "hello world" 383s 7/14 strip.R: strip_ctl(sprintf("%shello %sworld%s", grn.bg, red, end)) 383s [1] "hello world" 383s 7/14 strip.R: strip_ctl(sprintf("%s%shello %sworld%s", grn.bg, inv, red, end)) 383s [1] "hello world" 383s 7/14 strip.R: string <- paste("string", format(1:10)) 383s 7/14 strip.R: string[c(2, 4, 6)] <- paste0(red, string[c(2, 4, 6)], end) 383s 7/14 strip.R: strip_ctl(string) 383s [1] "string 1" "string 2" "string 3" "string 4" "string 5" "string 6" 383s [7] "string 7" "string 8" "string 9" "string 10" 383s 7/14 strip.R: strip_sgr(string) 383s [1] "string 1" "string 2" "string 3" "string 4" "string 5" "string 6" 383s [7] "string 7" "string 8" "string 9" "string 10" 383s 7/14 strip.R: strip_sgr(1:3) 383s [1] "1" "2" "3" 383s 7/14 strip.R: unitizer_sect("Corner cases", { 383s 7/14 strip.R: strip_ctl("hello\033") 383s [1] "hello" 383s Warning in strip_ctl("hello\033") : 383s Argument `x` contains a malformed escape sequence at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 383s 7/14 strip.R: strip_ctl("hello\033", ctl = c("nl", "c0")) 383s [1] "hello\033" 383s 7/14 strip.R: strip_ctl("hello\033[") 383s Warning in strip_ctl("hello\033[") : 383s 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. 383s [1] "hello" 383s 7/14 strip.R: strip_ctl("hello\033[42") 383s Warning in strip_ctl("hello\033[42") : 383s 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. 383s [1] "hello" 383s 7/14 strip.R: strip_ctl("hello\033[42", ctl = c("all", "csi", "sgr")) 383s [1] "hello42" 383s 7/14 strip.R: strip_ctl("hello\033[31##3m illegal") 383s [1] "hello illegal" 383s 7/14 strip.R: strip_ctl("hello\033[31##m legal") 383s [1] "hello legal" 383s 7/14 strip.R: strip_ctl(1:3) 383s [1] "1" "2" "3" 383s 7/14 strip.R: unitizer_sect("Whitespace", { 383s 7/14 strip.R: fansi:::process("hello world") 383s [1] "hello world" 383s 7/14 strip.R: fansi:::process("hello. world") 383s [1] "hello. world" 383s 7/14 strip.R: fansi:::process(c("hello world", "hello. world")) 383s [1] "hello world" "hello. world" 383s 7/14 strip.R: fansi:::process("hello. world? moon! wow.") 383s [1] "hello. world? moon! wow." 383s 7/14 strip.R: fansi:::process(" hello") 383s [1] "hello" 383s 7/14 strip.R: fansi:::process(" hello\n world") 383s [1] "hello world" 383s 7/14 strip.R: fansi:::process(" hello \n world") 383s [1] "hello world" 383s 7/14 strip.R: fansi:::process(" hello world\n ") 383s [1] "hello world" 383s 7/14 strip.R: fansi:::process("hello. ") 383s [1] "hello." 383s 7/14 strip.R: fansi:::process("hello! ") 383s [1] "hello!" 383s 7/14 strip.R: fansi:::process("hello? ") 383s [1] "hello?" 383s 7/14 strip.R: fansi:::process("hello? ") 383s [1] "hello?" 383s 7/14 strip.R: fansi:::process(" \t hello") 383s [1] "hello" 383s 7/14 strip.R: fansi:::process(" \t\a\r hello") 383s [1] "\a\rhello" 383s 7/14 strip.R: fansi:::process(" \t\a\r hello", ctl = c("all", "c0")) 383s [1] "\a\r hello" 383s 7/14 strip.R: fansi:::process("hello. \r world.") 383s [1] "hello. \rworld." 383s 7/14 strip.R: fansi:::process("hello. \033[31m world.\033[0m") 383s [1] "hello. \033[31mworld.\033[0m" 383s 7/14 strip.R: str1 <- c("hello ", " world") 383s 7/14 strip.R: fansi:::process(str1) 383s [1] "hello" "world" 383s 7/14 strip.R: str1 383s [1] "hello " " world" 383s 7/14 strip.R: fansi:::process("hello.\n\nworld") 383s [1] "hello.\n\nworld" 383s 7/14 strip.R: fansi:::process("hello.\n\n\nworld") 383s [1] "hello.\n\nworld" 383s 7/14 strip.R: fansi:::process("hello.\n\n\n\nworld") 383s [1] "hello.\n\nworld" 383s 7/14 strip.R: fansi:::process("hello.\n \nworld") 383s [1] "hello.\n\nworld" 383s 7/14 strip.R: fansi:::process("hello.\n\t\nworld") 383s [1] "hello.\n\nworld" 383s 7/14 strip.R: fansi:::process("hello.\n\t\n\tworld") 383s [1] "hello.\n\nworld" 383s 7/14 strip.R: fansi:::process("hello.\n \t \n \t world") 383s [1] "hello.\n\nworld" 383s 7/14 strip.R: fansi:::process("hello.\n\nworld\n\n") 383s [1] "hello.\n\nworld" 383s 7/14 strip.R: fansi:::process("hello.\n\nworld\n\n ") 383s [1] "hello.\n\nworld" 383s 7/14 strip.R: fansi:::process("\n\nhello.\n\t\n\tworld\n\t\n woohoo\n ") 383s [1] "\n\nhello.\n\nworld\n\nwoohoo" 383s 7/14 strip.R: fansi:::process("\n \t\nhello.\n\t\n\tworld\n\t\n woohoo\n ") 383s [1] "\n\nhello.\n\nworld\n\nwoohoo" 383s 7/14 strip.R: fansi:::process("hello.\n\033[44m\nworld") 383s [1] "hello.\n\n\033[44mworld" 383s 7/14 strip.R: fansi:::process("hello.\n\033[44m\n \t\nworld") 383s [1] "hello.\n\n\033[44mworld" 383s 7/14 strip.R: fansi:::process("hello.\033[44m\n\n \t\nworld") 383s [1] "hello.\033[44m\n\nworld" 383s 7/14 strip.R: fansi:::process("hello.\n\n \t\n\033[44mworld") 383s [1] "hello.\n\n\033[44mworld" 383s 7/14 strip.R: fansi:::process("hello.\n\n\033[44m \t\nworld") 383s [1] "hello.\n\n\033[44mworld" 383s 7/14 strip.R: fansi:::process("hello \033[44m world") 383s [1] "hello \033[44mworld" 383s 7/14 strip.R: fansi:::process("hello. \033[44m world") 383s [1] "hello. \033[44mworld" 383s 7/14 strip.R: fansi:::process("hello\033[44m\033[31m world") 383s [1] "hello\033[44m\033[31m world" 383s 7/14 strip.R: fansi:::process("hello\033[44m\033[31m\n\nworld") 383s [1] "hello\033[44m\033[31m\n\nworld" 383s 7/14 strip.R: fansi:::process("hello\n\033[44m\033[31m\nworld") 383s [1] "hello\n\n\033[44m\033[31mworld" 383s 7/14 strip.R: fansi:::process("hello\n\n\033[44m\033[31mworld") 383s [1] "hello\n\n\033[44m\033[31mworld" 383s 7/14 strip.R: fansi:::process("hello\033[44m\033[31d world") 383s [1] "hello\033[44m\033[31d world" 383s 7/14 strip.R: fansi:::process("hello \033[44m\033[31d world") 383s [1] "hello \033[44m\033[31dworld" 383s 7/14 strip.R: fansi:::process("hello \033[44m \033[31d world") 383s [1] "hello \033[44m\033[31dworld" 383s 7/14 strip.R: fansi:::process("hello\033[44m\033[31d world", ctl = c("all", 383s [1] "hello\033[44m\033[31d world" 383s 7/14 strip.R: fansi:::process("hello \033[44m\033[31d world", ctl = c("all", 383s [1] "hello \033[44m\033[31d world" 383s 7/14 strip.R: fansi:::process("hello \033[44m \033[31d world", ctl = c("all", 383s [1] "hello \033[44m\033[31d world" 383s 7/14 strip.R: fansi:::process("hello\033[44m\a world", ctl = c("all")) 383s [1] "hello\033[44m\a world" 383s 7/14 strip.R: fansi:::process("hello\033[44m\a world", ctl = c("all", "c0")) 383s [1] "hello\033[44m\a world" 383s 7/14 strip.R: fansi:::process("hello. \033[44m\a world", ctl = c("all")) 383s [1] "hello. \033[44m\aworld" 383s 7/14 strip.R: fansi:::process("hello. \033[44m\a world", ctl = c("all", "c0")) 383s [1] "hello. \033[44m\a world" 383s 7/14 strip.R: fansi:::process("hello. \033[44m \a world", ctl = c("all")) 383s [1] "hello. \033[44m\aworld" 383s 7/14 strip.R: fansi:::process("hello. \033[44m \a world", ctl = c("all", "c0")) 383s [1] "hello. \033[44m\a world" 383s 7/14 strip.R: fansi:::process("hello.\n\033[44m \a world", ctl = c("all")) 383s [1] "hello. \033[44m\aworld" 383s 7/14 strip.R: fansi:::process("hello.\n\033[44m \a world", ctl = c("all", "c0") 383s [1] "hello. \033[44m\a world" 383s 7/14 strip.R: fansi:::process("hello.\n\033[44m\n\a world", ctl = c("all")) 383s [1] "hello.\n\n\033[44m\aworld" 383s 7/14 strip.R: fansi:::process("hello.\n\033[44m\n\a world", ctl = c("all", 383s [1] "hello.\n\n\033[44m\a world" 383s 7/14 strip.R: fansi:::process("hello.\n\033[44m\a\n world", ctl = c("all")) 383s [1] "hello.\n\n\033[44m\aworld" 383s 7/14 strip.R: fansi:::process("hello.\n\033[44m\a\n world", ctl = c("all", 383s [1] "hello. \033[44m\a world" 383s 7/14 strip.R: unitizer_sect("Selective stripping", { 383s 7/14 strip.R: string.0 <- "hello\033k\033[45p world\n\033[31mgoodbye\a moon" 383s 7/14 strip.R: strip_ctl(string.0) 383s [1] "hello worldgoodbye moon" 383s 7/14 strip.R: strip_ctl(string.0, "sgr") 383s [1] "hello\033k\033[45p world\ngoodbye\a moon" 383s 7/14 strip.R: strip_ctl(string.0, c("nl", "c0", "sgr", "csi", "esc")) 383s [1] "hello worldgoodbye moon" 383s 7/14 strip.R: strip_ctl(string.0, "all") 383s [1] "hello worldgoodbye moon" 383s 7/14 strip.R: strip_ctl(string.0, c("c0", "esc")) 383s [1] "hello45p world\n31mgoodbye moon" 383s 7/14 strip.R: strip_ctl(string.0, c("nl")) 383s [1] "hello\033k\033[45p world\033[31mgoodbye\a moon" 383s 7/14 strip.R: strip_ctl(string.0, character()) 383s [1] "hello\033k\033[45p world\n\033[31mgoodbye\a moon" 384s 7/14 strip.R: strip_ctl(string.0, c("all", "c0", "esc")) 384s [1] "hello\033k worldgoodbye\a moon" 384s 7/14 strip.R: strip_ctl(string.0, c("all", "sgr")) 384s [1] "hello world\033[31mgoodbye moon" 384s 7/14 strip.R: string.1 <- "hello\033\033[45p world\n\033[31#3mgoodbye\a moon" 384s 7/14 strip.R: strip_ctl(string.1, c("nl", "sgr", "esc")) 384s Warning in strip_ctl(string.1, c("nl", "sgr", "esc")) : 384s Argument `x` contains a malformed escape sequence at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 384s [1] "hello[45p worldgoodbye\a moon" 384s 7/14 strip.R: strip_ctl(string.1, c("csi")) 384s [1] "hello\033 world\n\033[31#3mgoodbye\a moon" 384s Warning in strip_ctl(string.1, "all") : 384s Argument `x` contains a malformed escape sequence at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 384s 7/14 strip.R: strip_ctl(string.1, "all") 384s [1] "hello[45p worldgoodbye moon" 384s 7/14 strip.R: strip_ctl(string.1, c("c0", "nl")) 384s [1] "hello\033\033[45p world\033[31#3mgoodbye moon" 384s 7/14 strip.R: strip_ctl(string.1, c("all", "sgr")) 384s [1]Warning in strip_ctl(string.1, c("all", "sgr")) : 384s Argument `x` contains a malformed escape sequence at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 384s "hello[45p world\033[31#3mgoodbye moon" 384s 7/14 strip.R: strip_sgr(string.1) 384s [1] "hello\033\033[45p world\ngoodbye\a moon" 384s 7/14 strip.R: strip_ctl(c(string.0, string.1, "hello"), warn = FALSE) 384s [1] "hello worldgoodbye moon" "hello[45p worldgoodbye moon" 384s [3] "hello" 384s 7/14 strip.R: string.2 <- "\033k\033[45p\a\n\033[31mgoodbye moon" 384s 7/14 strip.R: strip_ctl(string.2) 384s [1] "goodbye moon" 384s 7/14 strip.R: strip_ctl(string.2, "sgr") 384s [1] "\033k\033[45p\a\ngoodbye moon" 384s 7/14 strip.R: string.3 <- "hello world\033k\033[45p\a\n\033[31m" 384s 7/14 strip.R: strip_ctl(string.3) 384s [1] "hello world" 384s 7/14 strip.R: strip_ctl(string.3, "sgr") 384s [1] "hello world\033k\033[45p\a\n" 384s Error in strip_ctl("hello\033[41mworld", warn = 1:3) : 384s Argument `warn` must be TRUE or FALSE. 384s Calls: unitize_dir ... eval -> withVisible -> strip_ctl -> VAL_IN_ENV -> stop2 384s 7/14 strip.R: unitizer_sect("Bad Inputs", { 384s 7/14 strip.R: strip_ctl("hello\033[41mworld", warn = 1:3) 384s Error in strip_ctl("hello\033[41mworld", ctl = 1:3) : 384s Argument `ctl` must be character. 384s Calls: unitize_dir ... eval -> withVisible -> strip_ctl -> VAL_IN_ENV -> stop2 384s 7/14 strip.R: strip_ctl("hello\033[41mworld", ctl = 1:3) 384s Error in strip_ctl("hello\033[41mworld", ctl = "bananas") : 384s Argument `ctl` may contain only values in `c("all", "nl", "c0", "sgr", "csi", "esc", "url", "osc")` 384s Calls: unitize_dir ... eval -> withVisible -> strip_ctl -> VAL_IN_ENV -> stop2 384s 7/14 strip.R: strip_ctl("hello\033[41mworld", ctl = "bananas") 384s Parameter `strip` has been deprecated; use `ctl` instead. 384s 7/14 strip.R: strip_ctl("hello\033[41mworld", strip = "sgr") 384s [1] "helloworld" 384s 7/14 strip.R: strip_sgr("hello\033[41mworld", warn = 1:3) 384s Error in strip_sgr("hello\033[41mworld", warn = 1:3) : 384s Argument `warn` must be TRUE or FALSE. 384s Calls: unitize_dir ... eval -> withVisible -> strip_sgr -> VAL_IN_ENV -> stop2 384s 384s 8/14 strsplit.R: 384s 8/14 strsplit.R: library(fansi) 384s 8/14 strsplit.R: unitizer_sect("basic splits", { 384s 8/14 strsplit.R: str.0 <- c("hello world", "goodbye moon") 384s 8/14 strsplit.R: identical(strsplit(str.0[1], " "), strsplit_ctl(str.0[1], " ") 384s [1] TRUE 384s 8/14 strsplit.R: identical(strsplit(str.0, "h"), strsplit_ctl(str.0, "h")) 384s [1] TRUE 384s 8/14 strsplit.R: identical(strsplit(str.0, "m"), strsplit_ctl(str.0, "m")) 384s [1] TRUE 384s 8/14 strsplit.R: identical(strsplit(str.0, "g"), strsplit_ctl(str.0, "g")) 384s [1] TRUE 384s 8/14 strsplit.R: str.1 <- "hello\033[31m world" 384s 8/14 strsplit.R: str.2 <- "\033[42m hello\033[m world, Goodbye Moon" 384s 8/14 strsplit.R: strsplit_ctl(str.1, " ") 384s [[1]] 384s [1] "hello" "\033[31mworld\033[0m" 384s 384s 8/14 strsplit.R: strsplit_ctl(str.1, "hello") 384s [[1]] 384s [1] "" "\033[31m world\033[0m" 384s 384s 8/14 strsplit.R: strsplit_ctl(str.2, ", ") 384s [[1]] 384s [1] "\033[42m hello\033[m world" "Goodbye Moon" 384s 384s 8/14 strsplit.R: strsplit_ctl(c(str.1, "hello world", str.2), "hello") 384s [[1]] 384s [1] "" "\033[31m world\033[0m" 384s 384s [[2]] 384s [1] "" " world" 384s 384s [[3]] 384s [1] "\033[42m \033[0m" " world, Goodbye Moon" 384s 384s 8/14 strsplit.R: unitizer_sect("corner cases", { 384s 8/14 strsplit.R: strsplit_ctl("hello\033[31m world", "") 384s [[1]] 384s [1] "h" "e" "l" "l" 384s [5] "o" "\033[31m \033[0m" "\033[31mw\033[0m" "\033[31mo\033[0m" 384s [9] "\033[31mr\033[0m" "\033[31ml\033[0m" "\033[31md\033[0m" 384s 384s 8/14 strsplit.R: strsplit_ctl("hello\033[31m world", "[", fixed = TRUE) 384s [[1]] 384s [1] "hello\033[31m world" 384s 384s Error in strsplit_ctl("hello\033[31m world", NA_character_) : 384s Argument `split` may not contain NAs. 384s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> strsplit_ctl 384s 8/14 strsplit.R: strsplit_ctl("hello\033[31m world", NA_character_) 384s 8/14 strsplit.R: strsplit_ctl("hello\033[31m world", character()) 384s [[1]] 384s [1] "h" "e" "l" "l" 384s [5] "o" "\033[31m \033[0m" "\033[31mw\033[0m" "\033[31mo\033[0m" 384s [9] "\033[31mr\033[0m" "\033[31ml\033[0m" "\033[31md\033[0m" 384s 384s 8/14 strsplit.R: strsplit_ctl("hello\033[31m world", letters) 384s [[1]] 384s [1] "hello\033[31m world" 384s 384s 8/14 strsplit.R: splits <- c("h", "e", "o", "llo", "x", "hello") 384s 8/14 strsplit.R: str.spl1 <- strsplit_ctl(rep("hello", 6), splits) 384s 8/14 strsplit.R: str.spl2 <- strsplit(rep("hello", 6), splits) 384s 8/14 strsplit.R: identical(str.spl1, str.spl2) 384s [1] TRUE 384s 8/14 strsplit.R: str.spl3 <- strsplit_ctl(rep("\033[31mhello\033[39m", 6), spli 384s 8/14 strsplit.R: str.spl3 384s [[1]] 384s [1] "" "\033[31mello\033[0m" 384s 384s [[2]] 384s [1] "\033[31mh\033[0m" "\033[31mllo\033[0m" 384s 384s [[3]] 384s [1] "\033[31mhell\033[0m" 384s 384s [[4]] 384s [1] "\033[31mhe\033[0m" 384s 384s [[5]] 384s [1] "\033[31mhello\033[39m" 384s 384s [[6]] 384s [1] "" 384s 384s 8/14 strsplit.R: identical(lapply(str.spl3, strip_ctl), str.spl2) 384s [1] TRUE 384s 8/14 strsplit.R: strsplit_ctl("", " ") 384s [[1]] 384s character(0) 384s 384s 8/14 strsplit.R: strsplit_ctl("", "") 384s [[1]] 384s character(0) 384s 384s 8/14 strsplit.R: strsplit_ctl(c("\033[31mab\033[0m", ""), "") 384s [[1]] 384s [1] "\033[31ma\033[0m" "\033[31mb\033[0m" 384s 384s [[2]] 384s character(0) 384s 384s 8/14 strsplit.R: strsplit_ctl("hello", NULL) 384s [[1]] 384s [1] "h" "e" "l" "l" "o" 384s 384s 8/14 strsplit.R: str.sp14 <- c("\033[31mhello\nworld", "\ngoodbye\nmoon") 384s 8/14 strsplit.R: strsplit_ctl(str.sp14, "\n") 384s [[1]] 384s [1] "\033[31mhello\nworld" 384s 384s [[2]] 384s [1] "\ngoodbye\nmoon" 384s 384s 8/14 strsplit.R: strsplit_sgr(str.sp14, "\n") 384s [[1]] 384s [1] "\033[31mhello\033[0m" "\033[31mworld\033[0m" 384s 384s [[2]] 384s [1] "" "goodbye" "moon" 384s 384s 8/14 strsplit.R: strsplit_ctl(str.sp14, "\n", ctl = c("all", "nl")) 384s [[1]] 384s [1] "\033[31mhello\033[0m" "\033[31mworld\033[0m" 384s 384s [[2]] 384s [1] "" "goodbye" "moon" 384s 384s 8/14 strsplit.R: unitizer_sect("bad intputs", { 384s 8/14 strsplit.R: str.bytes <- "\336" 384s 8/14 strsplit.R: Encoding(str.bytes) <- "bytes" 384s Error in strsplit_ctl(str.bytes, "") : 384s Argument `x` contains a "bytes" encoded string at index [1], which is disallowed. 384s Calls: unitize_dir ... eval -> withVisible -> strsplit_ctl -> VAL_IN_ENV -> stop2 384s 8/14 strsplit.R: strsplit_ctl(str.bytes, "") 384s Error in strsplit_ctl(str.2, NA) : Argument `split` may not contain NAs. 384s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> strsplit_ctl 384s 8/14 strsplit.R: strsplit_ctl(str.2, NA) 384s 8/14 strsplit.R: strsplit_ctl(str.2, "", warn = NULL)Error in strsplit_ctl(str.2, "", warn = NULL) : 384s Argument `warn` must be TRUE or FALSE. 384s Calls: unitize_dir ... eval -> withVisible -> strsplit_ctl -> VAL_IN_ENV -> stop2 384s Error in strsplit_ctl(str.2, "", fixed = NA_integer_) : 384s Argument `fixed` must be TRUE or FALSE. 384s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> strsplit_ctl 384s 384s 8/14 strsplit.R: strsplit_ctl(str.2, "", fixed = NA_integer_) 384s 8/14 strsplit.R: strsplit_ctl(str.2, "", perl = NA_integer_) 384s Error in strsplit_ctl(str.2, "", perl = NA_integer_) : 384s Argument `perl` must be TRUE or FALSE. 384s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> strsplit_ctl 384s 8/14 strsplit.R: strsplit_ctl(str.2, "", useBytes = NA_integer_) 384s Error in strsplit_ctl(str.2, "", useBytes = NA_integer_) : 384s Argument `useBytes` must be TRUE or FALSE. 384s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> strsplit_ctl 384s 8/14 strsplit.R: strsplit_ctl(str.2, "", term.cap = 1:3) 384s Error in strsplit_ctl(str.2, "", term.cap = 1:3) : 384s Argument `term.cap` must be character. 384s Calls: unitize_dir ... eval -> withVisible -> strsplit_ctl -> VAL_IN_ENV -> stop2 384s 8/14 strsplit.R: strsplit_ctl(str.2, "", term.cap = "bananas") 384s Error in strsplit_ctl(str.2, "", term.cap = "bananas") : 384s Argument `term.cap` may only contain values in c("all", "bright", "256", "truecolor", "old") 384s Calls: unitize_dir ... eval -> withVisible -> strsplit_ctl -> VAL_IN_ENV -> stop2 384s 8/14 strsplit.R: strsplit_ctl(str.2, "", ctl = 1:3) 384s Error in strsplit_ctl(str.2, "", ctl = 1:3) : 384s Argument `ctl` must be character. 384s Calls: unitize_dir ... eval -> withVisible -> strsplit_ctl -> VAL_IN_ENV -> stop2 384s 8/14 strsplit.R: strsplit_ctl(str.2, "", ctl = "bananas") 384s Error in strsplit_ctl(str.2, "", ctl = "bananas") : 384s Argument `ctl` may contain only values in `c("all", "nl", "c0", "sgr", "csi", "esc", "url", "osc")` 384s Calls: unitize_dir ... eval -> withVisible -> strsplit_ctl -> VAL_IN_ENV -> stop2 384s 8/14 strsplit.R: strsplit_ctl("a b", str.bytes) 384s Error in strsplit_ctl("a b", str.bytes) : 384s Argument `split` may not be "bytes" encoded. 384s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> strsplit_ctl 384s 8/14 strsplit.R: unitizer_sect("issue 55", { 384s 8/14 strsplit.R: strsplit_ctl("hello\nworld", "\n") 384s [[1]] 384s [1] "hello\nworld" 384s 384s 8/14 strsplit.R: strsplit_sgr("hello\033[31mworld", "\033[31m", fixed = TRUE) 384s [[1]] 384s [1] "hello\033[31mworld" 384s 384s 8/14 strsplit.R: strsplit_ctl("a\nb", "\n", ctl = c("all", "nl")) 384s [[1]] 384s [1] "a" "b" 384s 384s 8/14 strsplit.R: strsplit_sgr("hello\nworld", "\n") 384s [[1]] 384s [1] "hello" "world" 384s 384s 384s 9/14 substr.R: 384s 9/14 substr.R: library(fansi) 384s 9/14 substr.R: unitizer_sect("Simple", { 384s 9/14 substr.R: str01 <- sprintf("hello %sworld%s how", red, inv) 384s 9/14 substr.R: substr_ctl(str01, 1, 7) 384s [1] "hello \033[31mw\033[0m" 384s 9/14 substr.R: substr_ctl(str01, 7, 11) 384s [1] "\033[31mworld\033[0m" 384s 9/14 substr.R: substr_ctl(str01, 8, 10) 384s [1] "\033[31morl\033[0m" 384s 9/14 substr.R: substr_ctl(str01, 8, 14) 384s [1] "\033[31morld\033[7m ho\033[0m" 384s 9/14 substr.R: str02 <- sprintf("%shello world %sit's a %scrazy world%s out the 384s 9/14 substr.R: term.cap <- c("bright", "256", "truecolor") 384s 9/14 substr.R: substr_ctl(str02, 1, 7) 384s [1] "\033[42mhello w\033[0m" 384s 9/14 substr.R: substr_ctl(str02, 10, 20) 384s [1] "\033[42mld \033[31mit's a \033[0mc" 384s 9/14 substr.R: substr_ctl(str02, 15, 40, term.cap = term.cap) 384s [1] "\033[31;42m's a \033[0mcrazy world\033[4;38;2;0;120;200m out there\033[0m" 384s 9/14 substr.R: substr_ctl(str02, 35, 60, term.cap = term.cap) 384s [1] "\033[4;38;2;0;120;200m there \033[7misn't it\033[0m\033[48;5;141m right?\033[0m" 384s 9/14 substr.R: str03 <- sprintf("hello %sworld", rgb.und) 384s 9/14 substr.R: substr_ctl(str03, 1, 12, term.cap = term.cap) 384s [1] "hello \033[4;38;2;0;120;200mworld\033[0m" 384s 9/14 substr.R: str04 <- sprintf("hello%s%s world%s%s yowza", red, inv, grn.bg, 384s 9/14 substr.R: substr_ctl(str04, 5, 7, term.cap = term.cap) 384s [1] "o\033[31m\033[7m w\033[0m" 384s 9/14 substr.R: substr_ctl(str04, 5, 13, term.cap = term.cap) 384s [1] "o\033[31m\033[7m world\033[42m\033[4;38;2;0;120;200m y\033[0m" 384s 9/14 substr.R: unitizer_sect("Multi-line", { 384s 9/14 substr.R: str.m.0 <- paste0("\033[44m", c("hello world", rep("goodbye \033 384s 9/14 substr.R: substr_ctl(str.m.0, (1:4) * 2, (3:8) * 2) 384s [1] "\033[44mello \033[0m" "\033[44mdbye \033[0m" 384s [3] "\033[44mye \033[45mmo\033[0m" "\033[44mombas\033[0m" 384s 9/14 substr.R: unitizer_sect("tabs", { 384s 9/14 substr.R: substr2_ctl("yo\tworld", 1, 8, tabs.as.spaces = TRUE) 384s [1] "yo " 384s 9/14 substr.R: unitizer_sect("Corner cases", { 384s 9/14 substr.R: substr_ctl("hello", 0, -1) 384s [1] "" 384s 9/14 substr.R: substr_ctl("hello", 0, 0) 384s [1] "" 384s 9/14 substr.R: substr_ctl(rep("hello", 2), c(1, 0), c(1, 1)) 384s [1] "h" "h" 384s 9/14 substr.R: substr_ctl(character(), 1, 1) 384s character(0) 384s 9/14 substr.R: substr_ctl(list("hello", list("goodbye", "there")), 1, 2) 384s [1] "he" "li" 384s 9/14 substr.R: substr_ctl(structure(list(list("goodbye", "there")), class = "fo 384s [1] "li" 384s 9/14 substr.R: str.0 <- "\033[31mred\033[m" 384s 9/14 substr.R: str.1 <- "\033[31mred\033[42m" 384s 9/14 substr.R: str.2 <- c(str.0, str.1) 384s 9/14 substr.R: substr_ctl(str.2, 0, 0) 384s [1] "" "" 384s 9/14 substr.R: substr_ctl(str.2, 1, 1) 384s [1] "\033[31mr\033[0m" "\033[31mr\033[0m" 384s 9/14 substr.R: substr_ctl(str.2, 3, 3) 384s [1] "\033[31md\033[0m" "\033[31md\033[0m" 384s 9/14 substr.R: substr_ctl(str.2, 4, 4) 384s [1] "" "" 384s 9/14 substr.R: substr_ctl(str.2, 3, 4) 384s [1] "\033[31md\033[0m" "\033[31md\033[0m" 384s 9/14 substr.R: substr_ctl(str.2, 3, 5) 384s [1] "\033[31md\033[0m" "\033[31md\033[0m" 384s 9/14 substr.R: substr_ctl(str.2, 3, 4, terminate = FALSE) 384s [1] "\033[31md\033[m" "\033[31md\033[42m" 384s 9/14 substr.R: substr_ctl(str.2, 3, 5, terminate = FALSE) 384s [1] "\033[31md\033[m" "\033[31md\033[42m" 384s 9/14 substr.R: substr_ctl(str.2, -1, 2) 384s [1] "\033[31mre\033[0m" "\033[31mre\033[0m" 384s 9/14 substr.R: substr_ctl(str.2, -2, -1) 384s [1] "" "" 384s 9/14 substr.R: substr_ctl(str.2, 4, 1) 384s [1] "" "" 384s 9/14 substr.R: substr_ctl(str.2, 4, 1, terminate = FALSE) 384s [1] "" "" 384s 9/14 substr.R: substr_ctl(str.2, 4, 1, carry = "\033[44m") 384s [1] "" "" 384s 9/14 substr.R: substr_ctl(str.2, 4, 1, carry = "\033[44m", terminate = FALSE) 384s [1] "" "" 384s 9/14 substr.R: substr_ctl("hello", 5, 5) 384s [1] "o" 384s 9/14 substr.R: substr_ctl("hello", 6, 6) 384s [1] "" 384s 9/14 substr.R: substr_ctl("hello", 7, 6) 384s [1] "" 384s 9/14 substr.R: substr_ctl("hello", 6, 7) 384s [1] "" 384s 9/14 substr.R: substr_ctl("hello", 7, 5) 384s [1] "" 384s 9/14 substr.R: substr_ctl("hello", 0, 6) 384s [1] "hello" 384s 9/14 substr.R: substr_ctl("hello", 0, 5) 384s [1] "hello" 384s 9/14 substr.R: substr_ctl("hello", 1, 6) 384s [1] "hello" 384s 9/14 substr.R: substr_ctl("hello", "1", 1) 384s [1] "h" 384s 9/14 substr.R: substr_ctl("hello", 1, "1") 384s [1] "h" 384s 9/14 substr.R: substr_ctl("hello", "a", "b") 384s Warning in substr2_ctl(x = x, start = start, stop = stop, warn = warn, term.cap = term.cap, : 384s NAs introduced by coercion 384s Warning in substr2_ctl(x = x, start = start, stop = stop, warn = warn, term.cap = term.cap, : 384s NAs introduced by coercion 384s [1] NA 384s 9/14 substr.R: substr_ctl("hello", 1, NA_integer_) 384s [1] NA 384s 9/14 substr.R: substr_ctl("hello", NA_integer_, 1) 384s [1] NA 384s 9/14 substr.R: substr_ctl(rep("\033[31mhello\033[m", 3), c(3, 2, 1), c(3, 4, 384s [1] "\033[31ml\033[0m" "\033[31mell\033[0m" "\033[31mhello\033[0m" 384s 9/14 substr.R: str.3 <- structure("fu\033[42mba\033[0mr", class = "foo", at = " 384s 9/14 substr.R: substr_ctl(str.3, 2, 3) 384s [1] "u\033[42mb\033[0m" 384s attr(,"class") 384s [1] "foo" 384s attr(,"at") 384s [1] "bar" 384s 9/14 substr.R: substr_ctl(str.2, 2, 6, ctl = c("all", "sgr")) 384s [1] "[31mr" "[31mr" 384s 9/14 substr.R: substr_ctl(str.2, 8, 10, ctl = c("all", "sgr")) 384s [1] "d\033[" "d\033[" 384s 9/14 substr.R: substr2_ctl(rep("o\033[31m ", 2), 1:2, 1:2) 384s [1] "o" "\033[31m \033[0m" 384s 9/14 substr.R: substr_ctl("hello\033[41b", 1, 5) 384s [1] "hello" 384s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 384s 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. 384s 9/14 substr.R: substr_ctl("hello\033[41b", 1, 6) 384s [1] "hello\033[41b" 384s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 384s 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. 384s 9/14 substr.R: substr_ctl("\033[1p\033[31mA", 1, 1) 384s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 384s 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. 384s [1] "\033[31mA\033[0m" 384s 9/14 substr.R: substr_ctl("\033[1p\033[31mA", 0, 1) 384s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 384s 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. 384s [1] "\033[1p\033[31mA\033[0m" 384s 9/14 substr.R: substr_ctl("\033[1p\033[31mA", -1, 1) 384s [1] "\033[1p\033[31mA\033[0m" 384s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 384s 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. 384s 9/14 substr.R: substr_ctl("\033[31m\033[1pA", 1, 1) 384s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 384s 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. 384s [1] "\033[31mA\033[0m" 384s 9/14 substr.R: substr_ctl("\033[31m\033[1pA", 0, 1) 384s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 384s 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. 384s [1] "\033[31m\033[1pA\033[0m" 384s 9/14 substr.R: substr_ctl("\033[31m\033[1pA", -1, 1) 384s [1] "\033[31m\033[1pA\033[0m" 384s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 384s 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. 384s 9/14 substr.R: substr_ctl("\033[41m\033[1mA", 1, 1) 384s [1] "\033[1;41mA\033[0m" 384s 9/14 substr.R: substr_ctl("\033[41m\033[1mA", 0, 1) 384s [1] "\033[1;41mA\033[0m" 384s 9/14 substr.R: substr_ctl("\033[41m\033[1mA", -1, 1) 384s [1] "\033[1;41mA\033[0m" 384s 9/14 substr.R: str.4 <- c("A\033[45mB", "A") 384s 9/14 substr.R: substr_ctl(str.4, 1, 1, carry = TRUE, terminate = FALSE) 384s [1] "A" "\033[45mA" 384s 9/14 substr.R: substr_ctl("a\033[42", 1, 1) 384s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 384s 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. 384s [1] "a" 384s 9/14 substr.R: substr_ctl("a\033[42", 1, 2) 384s [1] "a\033[42" 384s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 384s 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. 384s 9/14 substr.R: substr_ctl("a\033[42", 1, 2, terminate = FALSE) 384s [1] "a\033[42" 384s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 384s 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. 384s 9/14 substr.R: substr_ctl("a\033]8;;END", 1, 1) 384s [1] "a" 384s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 384s 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. 384s 9/14 substr.R: substr_ctl("a\033]8;;END", 1, 2) 384s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 384s 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. 384s [1] "a" 384s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 384s 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. 384s 9/14 substr.R: substr_ctl("a\033]8;;END", 1, 2, terminate = FALSE) 384s [1] "a\033]8;;END" 384s 9/14 substr.R: substr_ctl("a\033];;END", 1, 1) 384s [1] "a" 384s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 384s 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. 384s 9/14 substr.R: substr_ctl("a\033];;END", 1, 2) 384s [1] "a\033];;END" 384s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 384s 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. 384s 9/14 substr.R: substr_ctl("a\033[38;5mb", 1, 2, term.cap = "all") 384s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 384s Argument `x` contains a CSI SGR sequence or OSC hyperlink with invalid substrings at index [1], see `?unhandled_ctl`; you can u[1] "a\033[38;5mb" 384s se `warn=FALSE` to turn off these warnings. 384s 9/14 substr.R: substr_ctl("a\033[38;2mb", 1, 2, term.cap = "all") 384s [1] "a\033[38;2mb" 384s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 384s 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. 384s 9/14 substr.R: substr_ctl("a\033[38;2;255mb", 1, 2, term.cap = "all") 384s [1] "a\033[38;2;255mb"Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 384s 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. 384s 384s 9/14 substr.R: substr_ctl("a\033[38;2;255;255mb", 1, 2, term.cap = "all") 384s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 384s Argument `x` contains a CSI SGR sequence or OSC hyperlink with invalid substrings at index [1], see `?unhandled_ctl`; you can u[1] "a\033[38;2;255;255mb" 384s se `warn=FALSE` to turn off these warnings. 384s 9/14 substr.R: substr_ctl("\033[45pA", 1, 1, warn = FALSE) 384s [1] "A" 384s 9/14 substr.R: substr_ctl("\033[45pA", 0, 1, warn = FALSE) 384s [1] "\033[45pA" 384s 9/14 substr.R: substr_ctl(c("AB", NA, "CD"), 1, 2) 384s [1] "AB" NA "CD" 384s 9/14 substr.R: substr_ctl(c("AB", NA, "CD"), 1, 2, carry = TRUE) 384s [1] "AB" NA NA 384s 9/14 substr.R: substr_ctl(c("AB", "CD"), c(NA, 1), 2) 384s [1] NA "CD" 384s 9/14 substr.R: substr_ctl(c("AB", "CD"), c(NA, 1), 2, carry = TRUE) 384s [1] NA "CD" 384s 9/14 substr.R: substr_ctl("\033[38;5;4mA", 1, 1, term.cap = "bright") 384s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 384s 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. 384s [1] "\033[38;5;4mA\033[0m" 384s 9/14 substr.R: substr_ctl("\033[38;5;4mA", 1, 1, term.cap = c("bright", "old")) 384s [1] "\033[4;5mA\033[0m" 384s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 384s 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. 384s 9/14 substr.R: substr_ctl("\033[38;5;4mA", 1, 1, term.cap = c("all", "256")) 384s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 384s 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. 384s [1] "\033[38;5;4mA\033[0m" 384s 9/14 substr.R: substr_ctl("\033[38;5;4mA", 1, 1, term.cap = c("all", "256", 384s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 384s Argument `x` contains a CSI SGR sequence with color codes not supported by terminal at index [1], see `?unhandled_ctl`; you can[1] "\033[4;5mA\033[0m" 384s use `warn=FALSE` to turn off these warnings. 384s 9/14 substr.R: substr_ctl("\033[38;5;4mA", 1, 1, term.cap = c("256")) 384s [1] "\033[38;5;4mA\033[0m" 384s 9/14 substr.R: substr_ctl("\033[38;5;4mA", 1, 1, term.cap = c("256", "old")) 384s [1] "\033[38;5;4mA\033[0m" 384s 9/14 substr.R: substr_ctl("\033[38;2;1;1;1mA", 1, 1, term.cap = "bright") 384s [1] "\033[38;2;1;1;1mA\033[0m" 384s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 384s 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. 384s 9/14 substr.R: substr_ctl("\033[38;2;1;1;1mA", 1, 1, term.cap = c("bright", 384s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 384s 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. 384s [1] "\033[1;2mA\033[0m" 384s 9/14 substr.R: substr_ctl("\033[38;2;1;1;1mA", 1, 1, term.cap = c("all", "truec 384s [1] "\033[38;2;1;1;1mA\033[0m" 384s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 384s 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. 384s 9/14 substr.R: substr_ctl("\033[38;2;1;1;1mA", 1, 1, term.cap = c("all", "truec 384s [1] "\033[1;2mA\033[0m" 384s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 384s 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. 384s 9/14 substr.R: substr_ctl("\033[38;2;1;1;1mA", 1, 1, term.cap = c("truecolor")) 384s [1] "\033[38;2;1;1;1mA\033[0m" 384s 9/14 substr.R: substr_ctl("\033[38;2;1;1;1mA", 1, 1, term.cap = c("truecolor", 384s [1] "\033[38;2;1;1;1mA\033[0m" 384s 9/14 substr.R: substr_ctl("\033[107mA", 1, 1, term.cap = "256") 384s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 384s Argument `x` contains a CSI SGR sequence with color codes not supported by terminal at index [1], see `?unhandled_ctl`; you can[1] "\033[107mA\033[0m" 384s use `warn=FALSE` to turn off these warnings. 384s 9/14 substr.R: substr_ctl("\033[107mA", 1, 1, term.cap = c("256", "old")) 384s [1] "A" 384s 9/14 substr.R: substr_ctl("\033[107mA", 1, 1, term.cap = c("all", "bright")) 384s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 384s [1] "\033[107mA\033[0m" 384s 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. 384s 9/14 substr.R: substr_ctl("\033[107mA", 1, 1, term.cap = c("all", "bright", 384s [1] "A" 384s 9/14 substr.R: substr_ctl("\033[107mA", 1, 1, term.cap = c("bright")) 384s [1] "\033[107mA\033[0m" 384s 9/14 substr.R: substr_ctl("\033[107mA", 1, 1, term.cap = c("bright", "old")) 384s [1] "\033[107mA\033[0m" 384s 9/14 substr.R: str.5 <- c("\033[48;2;100;100;100mAB", "\033[48;2;100;100;100mCD 384s 9/14 substr.R: substr_ctl(str.5, 2, 2, terminate = FALSE, carry = TRUE, term.ca 384s [1] "\033[48;2;100;100;100mB" "D" 384s 9/14 substr.R: str.5a <- c("\033[48;2;100;100;100mAB", "\033[48;2;100;100;101mC 384s 9/14 substr.R: substr_ctl(str.5a, 2, 2, terminate = FALSE, carry = TRUE, term.c 384s [1] "\033[48;2;100;100;100mB" "\033[48;2;100;100;101mD" 384s 9/14 substr.R: unitizer_sect("Obscure escapes", { 384s 9/14 substr.R: tryCatch(substr_ctl("\033[38;6;31mworld\033[m", 2, 3), warning = 384s [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." 384s 9/14 substr.R: suppressWarnings(substr_ctl("\033[38;6;31mworld\033[m", 2, 3)) 384s [1] "\033[6;31mor\033[0m" 384s 9/14 substr.R: tryCatch(substr_ctl("\033[31mhello\033[38;5;256m world\033[m", 384s [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." 384s 9/14 substr.R: suppressWarnings(substr_ctl("\033[31mhello\033[38;5;256m world\0 384s [1] "\033[31mwo\033[0m" 384s 9/14 substr.R: substr_ctl("\033[20mworld\033[m", 2, 3) 384s [1] "\033[20mor\033[0m" 384s 9/14 substr.R: substr_ctl("\033[21mworld\033[m", 2, 3) 384s [1] "\033[21mor\033[0m" 384s 9/14 substr.R: substr_ctl(rep("\033[26mhello \033[50mworld\033[m", 2), c(2, 384s [1] "\033[26mel\033[0m" "orl" 384s 9/14 substr.R: substr_ctl(rep("\033[61mwor\033[65mld\033[m", 2), c(2, 4), c(3, 384s [1] "\033[61mor\033[0m" "ld" 384s 9/14 substr.R: tryCatch(substr_ctl("\033[56mworld\033[m", 2, 3), warning = cond 384s [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." 384s 9/14 substr.R: suppressWarnings(substr_ctl("\033[56mworld\033[m", 2, 3)) 384s [1] "or" 384s 9/14 substr.R: tryCatch(substr_ctl("\033[66mworld\033[m", 2, 3), warning = cond 384s [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." 384s 9/14 substr.R: tryCatch(substr_ctl("\033[200mworld\033[m", 2, 3), warning = con 384s [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." 384s 9/14 substr.R: substr_ctl(rep("\033[91mwor\033[101mld\033[m", 2), c(2, 4), c(3, 384s [1] "\033[91mor\033[0m" "\033[91;101mld\033[0m" 384s 9/14 substr.R: unitizer_sect("bad args", { 384s 9/14 substr.R: hello2.0 <- "\033[42m\thello world\033[m foobar" 384s Error in substr2_ctl(hello2.0, 1, 2, warn = NULL) : 384s Argument `warn` must be TRUE or FALSE. 384s Calls: unitize_dir ... eval -> withVisible -> substr2_ctl -> VAL_IN_ENV -> stop2 384s 9/14 substr.R: substr2_ctl(hello2.0, 1, 2, warn = NULL) 384s 9/14 substr.R: substr2_ctl(hello2.0, 1, 2, tabs.as.spaces = 1) 384s [1] "\033[42m \033[0m" 384s 9/14 substr.R: substr2_ctl(hello2.0, 1, 2, tabs.as.spaces = NA) 384s Error in substr2_ctl(hello2.0, 1, 2, tabs.as.spaces = NA) : 384s Argument `tabs.as.spaces` must be TRUE or FALSE. 384s Calls: unitize_dir ... eval -> withVisible -> substr2_ctl -> VAL_IN_ENV -> stop2 384s 9/14 substr.R: substr2_ctl(hello2.0, 1, 2, tab.stops = -(1:3)) 384s Error in substr2_ctl(hello2.0, 1, 2, tab.stops = -(1:3)) : 384s Argument `tab.stops` must be numeric, strictly positive, and representable as an integer. 384s Calls: unitize_dir ... eval -> withVisible -> substr2_ctl -> VAL_IN_ENV -> stop2 384s 9/14 substr.R: substr2_ctl(hello2.0, 1, 2, tab.stops = 0) 384s Error in substr2_ctl(hello2.0, 1, 2, tab.stops = 0) : 384s Argument `tab.stops` must be numeric, strictly positive, and representable as an integer. 384s Calls: unitize_dir ... eval -> withVisible -> substr2_ctl -> VAL_IN_ENV -> stop2 384s 9/14 substr.R: substr2_ctl(hello2.0, 1, 2, round = "bananas") 384s Error in substr2_ctl(hello2.0, 1, 2, round = "bananas") : 384s Argument `round` must partial match one of c("start", "stop", "both", "neither") 384s Calls: unitize_dir ... eval -> withVisible -> substr2_ctl -> VAL_IN_ENV -> stop2 384s 9/14 substr.R: substr2_ctl(hello2.0, 1, 2, term.cap = 0) 384s Error in substr2_ctl(hello2.0, 1, 2, term.cap = 0) : 384s Argument `term.cap` must be character. 384s Calls: unitize_dir ... eval -> withVisible -> substr2_ctl -> VAL_IN_ENV -> stop2 384s 9/14 substr.R: substr2_ctl(hello2.0, 1, 2, term.cap = "bananas") 384s Error in substr2_ctl(hello2.0, 1, 2, term.cap = "bananas") : 384s Argument `term.cap` may only contain values in c("all", "bright", "256", "truecolor", "old") 384s Calls: unitize_dir ... eval -> withVisible -> substr2_ctl -> VAL_IN_ENV -> stop2 384s 9/14 substr.R: substr2_ctl(hello2.0, 1, 2, type = "bananas") 384s Error in substr2_ctl(hello2.0, 1, 2, type = "bananas") : 384s Argument `type` must partial match one of c("chars", "width", "graphemes") 384s Calls: unitize_dir ... eval -> withVisible -> substr2_ctl -> VAL_IN_ENV -> stop2 384s Error in substr2_ctl(hello2.0, 1, 2, ctl = "bananas") : 384s Argument `ctl` may contain only values in `c("all", "nl", "c0", "sgr", "csi", "esc", "url", "osc")` 384s Calls: unitize_dir ... eval -> withVisible -> substr2_ctl -> VAL_IN_ENV -> stop2 384s 9/14 substr.R: substr2_ctl(hello2.0, 1, 2, ctl = "bananas") 384s Error in substr2_ctl(hello2.0, 1, 2, ctl = 0) : 384s Argument `ctl` must be character. 384s Calls: unitize_dir ... eval -> withVisible -> substr2_ctl -> VAL_IN_ENV -> stop2 384s 9/14 substr.R: substr2_ctl(hello2.0, 1, 2, ctl = 0) 384s 9/14 substr.R: unitizer_sect("`ctl` related issues", { 384s 9/14 substr.R: substr_sgr("\033[31;42mhello world", 2, 4) 384s [1] "\033[31;42mell\033[0m" 384s 9/14 substr.R: substr_sgr("\033[31m\033[42mhello world", 2, 4) 384s [1] "\033[31;42mell\033[0m" 384s 9/14 substr.R: tryCatch(substr_sgr("\033[31;42!mhello world", 2, 4), warning = 384s [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." 384s 9/14 substr.R: substr_sgr("\033[55;38l\033[31mhello world", 2, 4, warn = FALSE) 384s [1] "[55" 384s 9/14 substr.R: substr_sgr("\033[31m\033[55;38lhello world", 2, 4, warn = FALSE) 384s [1] "\033[31m[55\033[0m" 384s 9/14 substr.R: substr_sgr("hello \033[31m\033[55;38lworld", 7, 9, warn = FALSE) 384s [1] "\033[31m\033[5\033[0m" 384s 9/14 substr.R: substr_ctl("\033[55;38l\033[31mhello world", 2, 4, warn = FALSE) 384s [1] "\033[31mell\033[0m" 384s 9/14 substr.R: substr_ctl("\033[31m\033[55;38lhello world", 2, 4, warn = FALSE) 384s [1] "\033[31mell\033[0m" 384s 9/14 substr.R: substr_ctl("hello \033[31m\033[55;38lworld", 7, 9, warn = FALSE) 384s [1] "\033[31mwor\033[0m" 384s 9/14 substr.R: substr_ctl("hello\033[55;38l \033[31mworld", 4, 7, warn = FALSE) 384s [1] "lo\033[55;38l \033[31mw\033[0m" 384s 9/14 substr.R: substr_sgr("ab\n\tcd\n", 3, 6, warn = FALSE) 384s [1] "\n\tcd" 384s 9/14 substr.R: substr_sgr("ab\n\033[31m\tcd\n", 3, 6, warn = FALSE) 384s [1] "\n\033[31m\tcd\033[0m" 384s 9/14 substr.R: substr_ctl("ab\n\033[31m\tcd\n", 3, 6, warn = FALSE, ctl = c("al 384s [1] "\n\033[31m\tcd\n\033[0m" 384s 9/14 substr.R: substr_ctl("ab\n\033[31m\tcd\n", 3, 6, warn = FALSE, ctl = c("al 384s [1] "\n\033[31m\tcd\033[0m" 384s 9/14 substr.R: substr_sgr(c("\a", "b", "c"), 1, 1) 384s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 384s Argument `x` contains a C0 control character at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 384s [1] "\a" "b" "c" 384s 9/14 substr.R: substr_sgr(c("a", "\b", "c"), 1, 1) 384s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 384s Argument `x` contains a C0 control character at index [2], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 384s [1] "a" "\b" "c" 384s 9/14 substr.R: substr_sgr(c("a", "b", "\ac"), 1, 1) 384s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 384s Argument `x` contains a C0 control character at index [3], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 384s [1] "a" "b" "\a" 384s 9/14 substr.R: unitizer_sect("Rep Funs - Equivalence", { 384s 9/14 substr.R: txt0 <- "ABCD" 384s 9/14 substr.R: identical(`substr_ctl<-`(txt0, 2, 2, value = "#"), `substr<-`(tx 384s [1] TRUE 384s 9/14 substr.R: identical(`substr_ctl<-`(txt0, 2, 2, value = "#?"), `substr<-`(t 384s [1] TRUE 384s 9/14 substr.R: identical(`substr_ctl<-`(txt0, 2, 3, value = "#?-"), `substr<-`( 384s [1] TRUE 384s 9/14 substr.R: identical(`substr_ctl<-`(txt0, 0, 0, value = "#"), `substr<-`(tx 384s [1] TRUE 385s 9/14 substr.R: identical(`substr_ctl<-`(txt0, 2, 1, value = "#"), `substr<-`(tx 385s [1] TRUE 385s 9/14 substr.R: identical(`substr_ctl<-`(txt0, 10, 12, value = "#"), `substr<-`( 385s [1] TRUE 385s 9/14 substr.R: identical(`substr_ctl<-`(txt0, 2, 3, value = "#"), `substr<-`(tx 385s [1] TRUE 385s 9/14 substr.R: identical(`substr_ctl<-`(txt0, 1, 5, value = "#"), `substr<-`(tx 385s [1] TRUE 385s 9/14 substr.R: identical(`substr_ctl<-`(txt0, 0, 5, value = "#"), `substr<-`(tx 385s [1] TRUE 385s 9/14 substr.R: `substr_ctl<-`(txt0, 0, -1, value = "#") 385s [1] "ABCD" 385s 9/14 substr.R: rep1 <- c("_", "_.") 385s 9/14 substr.R: rep2 <- c("_", "_.", "...") 385s 9/14 substr.R: identical(`substr_ctl<-`(txt0, 2, 3, value = rep1), `substr<-`(t 385s [1] TRUE 385s 9/14 substr.R: identical(`substr_ctl<-`(txt0, 2, 3, value = rep2), `substr<-`(t 385s [1] TRUE 385s 9/14 substr.R: txt1 <- c("AB", "CDE") 385s 9/14 substr.R: identical(`substr_ctl<-`(txt1, 2, 3, value = "_"), `substr<-`(tx 385s [1] TRUE 385s 9/14 substr.R: identical(`substr_ctl<-`(txt1, 2, 3, value = rep1), `substr<-`(t 385s [1] TRUE 385s 9/14 substr.R: identical(`substr_ctl<-`(txt1, 2, 3, value = rep2), `substr<-`(t 385s [1] TRUE 385s 9/14 substr.R: txt2 <- c("AB", "CDE", "EFGH") 385s 9/14 substr.R: identical(`substr_ctl<-`(txt2, 2, 3, value = "_"), `substr<-`(tx 385s [1] TRUE 385s 9/14 substr.R: identical(`substr_ctl<-`(txt2, 2, 3, value = rep1), `substr<-`(t 385s [1] TRUE 385s 9/14 substr.R: identical(`substr_ctl<-`(txt2, 2, 3, value = rep2), `substr<-`(t 385s [1] TRUE 385s 9/14 substr.R: txt3a <- txt3b <- c("ABC", "ABC") 385s 9/14 substr.R: substr(txt3a[2], 2, 2) <- "_" 385s 9/14 substr.R: substr_ctl(txt3b[2], 2, 2) <- "_" 385s 9/14 substr.R: identical(txt3a, txt3b) 385s [1] TRUE 385s 9/14 substr.R: identical(`substr_ctl<-`(txt0, 2, 3, value = NA_character_), 385s [1] TRUE 385s 9/14 substr.R: txt.na <- NA_character_ 385s 9/14 substr.R: identical(`substr_ctl<-`(txt.na, 1, 2, value = "AB"), `substr<-` 385s [1] TRUE 385s 9/14 substr.R: unitizer_sect("Rep Funs - SGR", { 385s 9/14 substr.R: txt1 <- "\033[33mABCD" 385s 9/14 substr.R: txt2 <- "\033[33mA\033[44mBCD" 385s 9/14 substr.R: txt3 <- "\033[33mA\033[44mBC\033[1mD" 385s 9/14 substr.R: `substr_ctl<-`(txt1, 2, 2, value = "#") 385s [1] "\033[33mA\033[0m#\033[33mCD" 385s 9/14 substr.R: `substr_ctl<-`(txt1, 2, 3, value = "#?-") 385s [1] "\033[33mA\033[0m#?\033[33mD" 385s 9/14 substr.R: `substr_ctl<-`(txt1, 2, 3, value = "#\033[32m?-") 385s [1] "\033[33mA\033[0m#\033[32m?\033[0m\033[33mD" 385s 9/14 substr.R: `substr_ctl<-`(txt1, 2, 3, value = "#\033[32m?-\033[0m") 385s [1] "\033[33mA\033[0m#\033[32m?\033[0m\033[33mD" 385s 9/14 substr.R: `substr_ctl<-`(txt1, 2, 3, value = "#\033[0m?-") 385s [1] "\033[33mA\033[0m#\033[0m?\033[33mD" 385s 9/14 substr.R: `substr_ctl<-`(txt2, 2, 3, value = "#\033[32m?-") 385s [1] "\033[33mA\033[0m#\033[32m?\033[0m\033[33;44mD" 385s 9/14 substr.R: `substr_ctl<-`(txt2, 2, 3, value = "#\033[32m?-\033[0m") 385s [1] "\033[33mA\033[0m#\033[32m?\033[0m\033[33;44mD" 385s 9/14 substr.R: `substr_ctl<-`(txt2, 2, 3, value = "#\033[0m?-") 385s [1] "\033[33mA\033[0m#\033[0m?\033[33;44mD" 385s 9/14 substr.R: `substr_ctl<-`(txt3, 2, 3, value = "#\033[32m?-") 385s [1] "\033[33mA\033[0m#\033[32m?\033[0m\033[1;33;44mD" 385s 9/14 substr.R: `substr_ctl<-`(txt3, 2, 3, value = "#\033[32m?-\033[0m") 385s [1] "\033[33mA\033[0m#\033[32m?\033[0m\033[1;33;44mD" 385s 9/14 substr.R: `substr_ctl<-`(txt3, 2, 3, value = "#\033[0m?-") 385s [1] "\033[33mA\033[0m#\033[0m?\033[1;33;44mD" 385s 9/14 substr.R: `substr_ctl<-`(txt2, 2, 2, terminate = FALSE, value = "#") 385s [1] "\033[33mA#\033[44mCD" 385s 9/14 substr.R: `substr_ctl<-`(txt2, 2, 3, terminate = FALSE, value = "#\033[32m 385s [1] "\033[33mA#\033[32m?\033[44mD" 385s 9/14 substr.R: `substr_ctl<-`(txt2, 2, 3, terminate = FALSE, value = "#\033[32m 385s [1] "\033[33mA#\033[32m?\033[44mD" 385s 9/14 substr.R: `substr_ctl<-`(txt2, 2, 3, terminate = FALSE, value = "#\033[0m? 385s [1] "\033[33mA#\033[0m?\033[44mD" 385s 9/14 substr.R: `substr_ctl<-`(txt1, 2, 3, terminate = FALSE, value = "#\033[0m? 385s [1] "\033[33mA#\033[0m?D" 385s 9/14 substr.R: `substr_ctl<-`(txt1, 2, 3, terminate = FALSE, value = "#\033[0m\ 385s [1] "\033[33mA#\033[0m\033[45m?D" 385s 9/14 substr.R: txt4 <- c(txt2, txt0, "\033[39mABCD") 385s 9/14 substr.R: `substr_ctl<-`(txt4, 2, 3, value = "#") 385s [1] "\033[33mA\033[0m#\033[33;44mCD" "A#CD" 385s [3] "\033[39mA#CD" 385s 9/14 substr.R: `substr_ctl<-`(txt4, 2, 3, value = c("#", "?")) 385s [1] "\033[33mA\033[0m#\033[33;44mCD" "A?CD" 385s [3] "\033[39mA#CD" 385s 9/14 substr.R: `substr_ctl<-`(txt4, 2, 3, value = c("#", "?", "$")) 385s [1] "\033[33mA\033[0m#\033[33;44mCD" "A?CD" 385s [3] "\033[39mA$CD" 385s 9/14 substr.R: `substr_ctl<-`(txt4, 2, 2, carry = TRUE, value = "#") 385s [1] "\033[33mA\033[0m#\033[33;44mCD" "A\033[0m#\033[33;44mCD" 385s [3] "\033[39mA\033[0m#\033[44mCD" 385s 9/14 substr.R: `substr_ctl<-`(txt4, 2, 3, carry = TRUE, value = "#\033[32m?-") 385s [1] "\033[33mA\033[0m#\033[32m?\033[0m\033[33;44mD" 385s [2] "A\033[0m\033[32m#\033[32m?\033[0m\033[33;44mD" 385s [3] "\033[39mA\033[0m\033[32m#\033[32m?\033[0m\033[44mD" 385s 9/14 substr.R: `substr_ctl<-`(txt4, 2, 3, carry = TRUE, value = "#\033[42m?-\03 385s [1] "\033[33mA\033[0m#\033[42m?\033[0m\033[33;44mD" 385s [2] "A\033[0m#\033[42m?\033[0m\033[33;44mD" 385s [3] "\033[39mA\033[0m#\033[42m?\033[0m\033[44mD" 385s 9/14 substr.R: `substr_ctl<-`(txt4, 2, 3, carry = TRUE, value = "#\033[0m?-") 385s [1] "\033[33mA\033[0m#\033[0m?\033[33;44mD" 385s [2] "A\033[0m#\033[0m?\033[33;44mD" 385s [3] "\033[39mA\033[0m#\033[0m?\033[44mD" 385s 9/14 substr.R: rep4 <- c("\033[32m_\033[45m", ".-", "\033[39m__") 385s 9/14 substr.R: `substr_ctl<-`(txt4, 2, 3, carry = TRUE, value = rep4) 385s [1] "\033[33mA\033[0m\033[32m_\033[0m\033[33;44mCD" 385s [2] "A\033[0m\033[32;45m.-\033[0m\033[33;44mD" 385s [3] "\033[39mA\033[0m\033[45m__\033[0m\033[44mD" 385s 9/14 substr.R: `substr_ctl<-`(txt4, 2, 2, terminate = FALSE, carry = TRUE, valu 385s [1] "\033[33mA#\033[44mCD" "A#CD" "\033[39mA#CD" 385s 9/14 substr.R: `substr_ctl<-`(txt4, 2, 3, terminate = FALSE, carry = TRUE, valu 385s [1] "\033[33mA#\033[32m?\033[44mD" "A#\033[32m?D" 385s [3] "\033[39mA#\033[32m?D" 385s 9/14 substr.R: `substr_ctl<-`(txt4, 2, 3, terminate = FALSE, carry = TRUE, valu 385s [1] "\033[33mA#\033[35m?\033[44mD" "A\033[0m#\033[35m?D" 385s [3] "\033[39mA\033[0m#\033[35m?D" 385s 9/14 substr.R: `substr_ctl<-`(txt4, 2, 3, terminate = FALSE, carry = TRUE, valu 385s [1] "\033[33mA#\033[0m?\033[44mD" "A#\033[0m?D" 385s [3] "\033[39mA#\033[0m?D" 385s 9/14 substr.R: `substr_ctl<-`(txt4, 2, 3, terminate = FALSE, carry = TRUE, valu 385s [1] "\033[33mA\033[32m_\033[45m\033[44mCD" 385s [2] "A.-D" 385s [3] "\033[39mA\033[0;45m__D" 385s 9/14 substr.R: txt5 <- c("ABD", "DFG") 385s 9/14 substr.R: `substr_ctl<-`(txt5, 2, 2, value = ".\033[45m", carry = TRUE, 385s [1] "A.D" "D\033[45m.G" 385s 9/14 substr.R: txt6 <- "A123456789B" 385s 9/14 substr.R: `substr2_ctl<-`(txt6, 2, 9, value = "\t", tabs.as.spaces = TRUE) 385s [1] "A 9B" 385s 9/14 substr.R: `substr2_ctl<-`(txt6, 2, 3, value = "\t", tabs.as.spaces = TRUE) 385s [1] "A 3456789B" 385s 9/14 substr.R: `substr2_ctl<-`(txt6, 2, 10, value = "\t", tabs.as.spaces = TRUE 385s [1] "A 9B" 385s 9/14 substr.R: txt7a <- "os" 385s 9/14 substr.R: txt7b <- "sos" 385s 9/14 substr.R: txt7c <- "so" 385s 9/14 substr.R: val.scar <- "" 385s 9/14 substr.R: Encoding(`substr_ctl<-`(txt7a, 1, 1, value = val.scar)) 385s [1] "UTF-8" 385s 9/14 substr.R: Encoding(`substr_ctl<-`(txt7a, 1, 1, value = "s")) 385s [1] "unknown" 385s 9/14 substr.R: Encoding(`substr_ctl<-`(txt7a, 2, 2, value = val.scar)) 385s [1] "UTF-8" 385s 9/14 substr.R: Encoding(`substr_ctl<-`(txt7a, 2, 2, value = "s")) 385s [1] "UTF-8" 385s 9/14 substr.R: Encoding(`substr_ctl<-`(txt7b, 2, 2, value = val.scar)) 385s [1] "UTF-8" 385s 9/14 substr.R: Encoding(`substr_ctl<-`(txt7b, 2, 2, value = "s")) 385s [1] "unknown" 385s 9/14 substr.R: Encoding(`substr_ctl<-`(txt7c, 3, 3, value = val.scar)) 385s [1] "UTF-8" 385s 9/14 substr.R: Encoding(`substr_ctl<-`(txt7c, 3, 3, value = "s")) 385s [1] "unknown" 385s 9/14 substr.R: unitizer_sect("Rep Funs - Corner Cases", { 385s 9/14 substr.R: `substr_ctl<-`(txt2, 1, 3, terminate = FALSE, value = "#\033[32m 385s [1] "\033[33m#\033[32m?\033[0m\033[44mCD" 385s 9/14 substr.R: txt8 <- "\033[32mAB\033[45m" 385s 9/14 substr.R: `substr_ctl<-`(txt8, 1, 2, value = "12") 385s [1] "\033[32m\033[0m12\033[32m\033[45m" 385s 9/14 substr.R: `substr_ctl<-`(txt8, 1, 2, value = "12", terminate = FALSE) 385s [1] "\033[32m12\033[45m" 385s 9/14 substr.R: `substr_ctl<-`(txt8, 1, 3, value = "12") 385s [1] "\033[32m\033[0m12" 385s 9/14 substr.R: `substr_ctl<-`(txt8, 1, 3, value = "1") 385s [1] "\033[32m\033[0m1\033[32mB\033[45m" 385s 9/14 substr.R: `substr_ctl<-`(txt8, 1, 3, value = "") 385s [1] "\033[32mAB\033[45m" 385s 9/14 substr.R: `substr_ctl<-`(txt8, 1, 3, value = "123") 385s [1] "\033[32m\033[0m12" 385s 9/14 substr.R: `substr_ctl<-`(txt8, 0, 2, value = "12") 385s [1] "12\033[32m\033[45m" 385s 9/14 substr.R: `substr_ctl<-`(txt8, 0, 3, value = "12") 385s [1] "12" 385s 9/14 substr.R: `substr_ctl<-`(txt8, 1, 3, value = "\033[1m", terminate = FALSE) 385s [1] "\033[32m\033[1mAB\033[45m" 385s 9/14 substr.R: tce(`substr_ctl<-`(txt8, 1, 3, value = "A", carry = "\033[41m")) 385s [1] "Argument `carry` must be TRUE or FALSE in replacement mode." 385s 9/14 substr.R: lat <- "fa\347ile" 385s 9/14 substr.R: Encoding(lat) <- "latin1" 385s 9/14 substr.R: tce(`substr_ctl<-`(lat, 1, 3, value = "ABC")) 385s [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]." 385s 9/14 substr.R: txt.na2 <- c("AB", NA, "BC") 385s 9/14 substr.R: `substr_ctl<-`(txt.na2, 1, 1, value = "#") 385s [1] "#B" NA "#C" 385s 9/14 substr.R: txt.nona <- c("AB", "BC", "CD") 385s 9/14 substr.R: `substr_ctl<-`(txt.nona, 1, 1, value = c("#", NA), carry = TRUE) 385s [1] "#B" NA NA 385s 385s 10/14 tabs.R: 385s 10/14 tabs.R: library(unitizer) 385s 10/14 tabs.R: library(fansi) 385s 10/14 tabs.R: unitizer_sect("simple tabs", { 385s 10/14 tabs.R: string <- "1\t12\t123\t1234\t12345678" 385s 10/14 tabs.R: tabs_as_spaces(string) 385s [1] "1 12 123 1234 12345678" 385s 10/14 tabs.R: tabs_as_spaces(string, c(2, 3, 4, 5, 8)) 385s [1] "1 12 123 1234 12345678" 385s 10/14 tabs.R: tabs_as_spaces(string, c(2, 8)) 385s [1] "1 12 123 1234 12345678" 385s 10/14 tabs.R: tabs_as_spaces(1:3) 385s [1] "1" "2" "3" 385s 10/14 tabs.R: unitizer_sect("newlines", { 385s 10/14 tabs.R: string.n <- paste0("1\t12\t123\t1234\t12345678\n", "1\t12\t123\t12 385s 10/14 tabs.R: tabs_as_spaces(string.n) 385s [1] "1 12 123 1234 12345678\n1 12 123 1234 12345678" 385s 10/14 tabs.R: tabs_as_spaces(string.n, c(2, 3, 4, 8)) 385s [1] "1 12 123 1234 12345678\n1 12 123 1234 12345678" 385s 10/14 tabs.R: tabs_as_spaces(string.n, c(2, 8)) 385s [1] "1 12 123 1234 12345678\n1 12 123 1234 12345678" 385s 10/14 tabs.R: unitizer_sect("corner cases", { 385s 10/14 tabs.R: tabs_as_spaces("") 385s [1] "" 385s 10/14 tabs.R: tabs_as_spaces("\t") 385s [1] " " 385s 10/14 tabs.R: tabs_as_spaces("\n") 385s [1] "\n" 385s 10/14 tabs.R: tabs_as_spaces(c(string, string, string)) 385s [1] "1 12 123 1234 12345678" 385s [2] "1 12 123 1234 12345678" 385s [3] "1 12 123 1234 12345678" 385s 10/14 tabs.R: tabs_as_spaces("\t\t") 385s [1] " " 385s 10/14 tabs.R: unitizer_sect("bad inputs", { 385s 10/14 tabs.R: tabs_as_spaces(string, warn = 1:3) 385s Error in tabs_as_spaces(string, warn = 1:3) : 385s Argument `warn` must be TRUE or FALSE. 385s Calls: unitize_dir ... withVisible -> tabs_as_spaces -> VAL_IN_ENV -> stop2 385s Error in tabs_as_spaces(string, tab.stops = "hello") : 385s Argument `tab.stops` must be numeric, strictly positive, and representable as an integer. 385s Calls: unitize_dir ... withVisible -> tabs_as_spaces -> VAL_IN_ENV -> stop2 385s 10/14 tabs.R: tabs_as_spaces(string, tab.stops = "hello") 385s 10/14 tabs.R: tabs_as_spaces(string, ctl = "hello") 385s 10/14 tabs.R: tabs_as_spaces(string, ctl = 0) 385s Error in tabs_as_spaces(string, ctl = "hello") : 385s Argument `ctl` may contain only values in `c("all", "nl", "c0", "sgr", "csi", "esc", "url", "osc")` 385s Calls: unitize_dir ... withVisible -> tabs_as_spaces -> VAL_IN_ENV -> stop2 385s Error in tabs_as_spaces(string, ctl = 0) : 385s Argument `ctl` must be character. 385s Calls: unitize_dir ... withVisible -> tabs_as_spaces -> VAL_IN_ENV -> stop2 385s 385s 11/14 tohtml.R: 385s 11/14 tohtml.R: library(unitizer) 385s 11/14 tohtml.R: library(fansi) 385s 11/14 tohtml.R: unitizer_sect("colors", { 385s 11/14 tohtml.R: style <- "width: 16px; height: 16px; display: inline-block;" 385s 11/14 tohtml.R: span <- "" 385s 11/14 tohtml.R: colors.8 <- fansi:::esc_color_code_to_html(rbind(c(0:7), 0L, 385s 11/14 tohtml.R: colors.8 385s [1] "#000000" "#BB0000" "#00BB00" "#BBBB00" "#0000BB" "#BB00BB" "#00BBBB" 385s [8] "#BBBBBB" 385s Error in fansi:::esc_color_code_to_html(matrix(c(9L, 0L, 0L, 0L, 0L))) : 385s Internal Error: applying non-color. 385s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> 385s 11/14 tohtml.R: fansi:::esc_color_code_to_html(matrix(c(9L, 0L, 0L, 0L, 0L))) 385s 11/14 tohtml.R: colors.255 <- fansi:::esc_color_code_to_html(rbind(8L, 5L, 0:255 385s 11/14 tohtml.R: colors.255 385s [1] "#000000" "#800000" "#008000" "#808000" "#000080" "#800080" "#008080" 385s [8] "#C0C0C0" "#808080" "#FF0000" "#00FF00" "#FFFF00" "#0000FF" "#FF00FF" 385s [15] "#00FFFF" "#FFFFFF" "#000000" "#00005F" "#000087" "#0000AF" "#0000D7" 385s [22] "#0000FF" "#005F00" "#005F5F" "#005F87" "#005FAF" "#005FD7" "#005FFF" 385s [29] "#008700" "#00875F" "#008787" "#0087AF" "#0087D7" "#0087FF" "#00AF00" 385s [36] "#00AF5F" "#00AF87" "#00AFAF" "#00AFD7" "#00AFFF" "#00D700" "#00D75F" 385s [43] "#00D787" "#00D7AF" "#00D7D7" "#00D7FF" "#00FF00" "#00FF5F" "#00FF87" 385s [50] "#00FFAF" "#00FFD7" "#00FFFF" "#5F0000" "#5F005F" "#5F0087" "#5F00AF" 385s [57] "#5F00D7" "#5F00FF" "#5F5F00" "#5F5F5F" "#5F5F87" "#5F5FAF" "#5F5FD7" 385s [64] "#5F5FFF" "#5F8700" "#5F875F" "#5F8787" "#5F87AF" "#5F87D7" "#5F87FF" 385s [71] "#5FAF00" "#5FAF5F" "#5FAF87" "#5FAFAF" "#5FAFD7" "#5FAFFF" "#5FD700" 385s [78] "#5FD75F" "#5FD787" "#5FD7AF" "#5FD7D7" "#5FD7FF" "#5FFF00" "#5FFF5F" 385s [85] "#5FFF87" "#5FFFAF" "#5FFFD7" "#5FFFFF" "#870000" "#87005F" "#870087" 385s [92] "#8700AF" "#8700D7" "#8700FF" "#875F00" "#875F5F" "#875F87" "#875FAF" 385s [99] "#875FD7" "#875FFF" "#878700" "#87875F" "#878787" "#8787AF" "#8787D7" 385s [106] "#8787FF" "#87AF00" "#87AF5F" "#87AF87" "#87AFAF" "#87AFD7" "#87AFFF" 385s [113] "#87D700" "#87D75F" "#87D787" "#87D7AF" "#87D7D7" "#87D7FF" "#87FF00" 385s [120] "#87FF5F" "#87FF87" "#87FFAF" "#87FFD7" "#87FFFF" "#AF0000" "#AF005F" 385s [127] "#AF0087" "#AF00AF" "#AF00D7" "#AF00FF" "#AF5F00" "#AF5F5F" "#AF5F87" 385s [134] "#AF5FAF" "#AF5FD7" "#AF5FFF" "#AF8700" "#AF875F" "#AF8787" "#AF87AF" 385s [141] "#AF87D7" "#AF87FF" "#AFAF00" "#AFAF5F" "#AFAF87" "#AFAFAF" "#AFAFD7" 385s [148] "#AFAFFF" "#AFD700" "#AFD75F" "#AFD787" "#AFD7AF" "#AFD7D7" "#AFD7FF" 385s [155] "#AFFF00" "#AFFF5F" "#AFFF87" "#AFFFAF" "#AFFFD7" "#AFFFFF" "#D70000" 385s [162] "#D7005F" "#D70087" "#D700AF" "#D700D7" "#D700FF" "#D75F00" "#D75F5F" 385s [169] "#D75F87" "#D75FAF" "#D75FD7" "#D75FFF" "#D78700" "#D7875F" "#D78787" 385s [176] "#D787AF" "#D787D7" "#D787FF" "#D7AF00" "#D7AF5F" "#D7AF87" "#D7AFAF" 385s [183] "#D7AFD7" "#D7AFFF" "#D7D700" "#D7D75F" "#D7D787" "#D7D7AF" "#D7D7D7" 385s [190] "#D7D7FF" "#D7FF00" "#D7FF5F" "#D7FF87" "#D7FFAF" "#D7FFD7" "#D7FFFF" 385s [197] "#FF0000" "#FF005F" "#FF0087" "#FF00AF" "#FF00D7" "#FF00FF" "#FF5F00" 385s [204] "#FF5F5F" "#FF5F87" "#FF5FAF" "#FF5FD7" "#FF5FFF" "#FF8700" "#FF875F" 385s [211] "#FF8787" "#FF87AF" "#FF87D7" "#FF87FF" "#FFAF00" "#FFAF5F" "#FFAF87" 385s [218] "#FFAFAF" "#FFAFD7" "#FFAFFF" "#FFD700" "#FFD75F" "#FFD787" "#FFD7AF" 385s [225] "#FFD7D7" "#FFD7FF" "#FFFF00" "#FFFF5F" "#FFFF87" "#FFFFAF" "#FFFFD7" 385s [232] "#FFFFFF" "#080808" "#121212" "#1C1C1C" "#262626" "#303030" "#3A3A3A" 385s [239] "#444444" "#4E4E4E" "#585858" "#626262" "#6C6C6C" "#767676" "#808080" 385s [246] "#8A8A8A" "#949494" "#9E9E9E" "#A8A8A8" "#B2B2B2" "#BCBCBC" "#C6C6C6" 385s [253] "#D0D0D0" "#DADADA" "#E4E4E4" "#EEEEEE" 385s 11/14 tohtml.R: vals <- c(0L, 127L, 255L) 385s 11/14 tohtml.R: colors.tru <- fansi:::esc_color_code_to_html(do.call(rbind, c(li 385s 11/14 tohtml.R: colors.tru 385s [1] "#000000" "#7F0000" "#FF0000" "#007F00" "#7F7F00" "#FF7F00" "#00FF00" 385s [8] "#7FFF00" "#FFFF00" "#00007F" "#7F007F" "#FF007F" "#007F7F" "#7F7F7F" 385s [15] "#FF7F7F" "#00FF7F" "#7FFF7F" "#FFFF7F" "#0000FF" "#7F00FF" "#FF00FF" 385s [22] "#007FFF" "#7F7FFF" "#FF7FFF" "#00FFFF" "#7FFFFF" "#FFFFFF" 385s 11/14 tohtml.R: unitizer_sect("simple html conversion", { 385s 11/14 tohtml.R: as_html_page <- function(x) { 385s 11/14 tohtml.R: sgr_to_html("hello \033[31;42;1mworld\033[0m") 385s [1] "hello world" 385s 11/14 tohtml.R: sgr_to_html("hello \033[31;48;5;23;1mworld\033[m") 385s [1] "hello world" 385s 11/14 tohtml.R: sgr_to_html("\033[1mbold\033[22m \033[2mfaint\033[22m \033[mital 385s [1] "bold faint italic\n" 385s 11/14 tohtml.R: csi_string <- c("\033[1mbold\033[22m \033[2mfaint\033[22m \033[3 385s 11/14 tohtml.R: html_string <- sgr_to_html(csi_string) 385s 11/14 tohtml.R: html_string 385s [1] "bold faint italic" 385s [2] "underline slow-blink" 385s [3] "fast-blink" 385s [4] "red-fg-green-bginverse inverse-off" 385s [5] "conceal reveal crossed-outclear" 385s [6] "bold faint italic" 385s [7] "underline slow-blink" 385s [8] "fast-blink" 385s [9] "red-fg-green-bginverse inverse-off" 385s [10]Warning in to_html_int(x = x, warn = warn, term.cap = term.cap, classes = classes, : 385s 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. 385s "conceal reveal crossed-outclear" 385s [11] "italic again not italic?" 385s 11/14 tohtml.R: unitizer_sect("Bright Colors", { 385s 11/14 tohtml.R: sgr_to_html("hello\033[94;101m world\033[39m yow\033[49mza") 385s [1] "hello world yowza" 385s 11/14 tohtml.R: sgr_to_html("hello\033[98;101m world\033[39m yow\033[49mza") 385s [1] "hello world yowza" 385s 11/14 tohtml.R: unitizer_sect("Corner cases", { 385s 11/14 tohtml.R: sgr_to_html("hello\033[0m") 385s [1] "hello" 385s 11/14 tohtml.R: sgr_to_html("hello\033[31m") 385s [1] "hello" 385s 11/14 tohtml.R: sgrs <- paste0(rep("\033[31m", 20), collapse = "") 385s 11/14 tohtml.R: sgr_to_html(sprintf("%shello world\033[m", sgrs)) 385s [1] "hello world" 385s 11/14 tohtml.R: sgr_to_html(1:3) 385s [1] "1" "2" "3" 385s 11/14 tohtml.R: sgr_to_html("\033[31mhello\033[m\033[42m world\033[m") 385s [1] "hello world" 385s 11/14 tohtml.R: sgr_to_html("\033[33mhello") 385s [1] "hello" 385s 11/14 tohtml.R: sgr_to_html("he\033[33mllo") 385s [1] "hello" 385s 11/14 tohtml.R: sgr_to_html("hello\033[33m") 385s [1] "hello" 385s 11/14 tohtml.R: sgr_to_html(c("\033[33mhello", "world")) 385s [1] "hello" 385s [2] "world" 385s 11/14 tohtml.R: sgr_to_html(c("\033[33mhello", "\033[44mworld")) 385s [1] "hello" 385s [2] "world" 385s 11/14 tohtml.R: sgr_to_html(c("\033[33mhello", "wor\033[44mld")) 385s [1] "hello" 385s [2] "world" 385s 11/14 tohtml.R: sgr_to_html(c("\033[33mhello", "world\033[44m")) 385s [1] "hello" 385s [2] "world" 385s 11/14 tohtml.R: sgr_to_html(c("he\033[33mllo", "world")) 385s [1] "hello" 385s [2] "world" 385s 11/14 tohtml.R: sgr_to_html(c("he\033[33mllo", "\033[44mworld")) 385s [1] "hello" 385s [2] "world" 385s 11/14 tohtml.R: sgr_to_html(c("he\033[33mllo", "wor\033[44mld")) 385s [1] "hello" 385s [2] "world" 385s 11/14 tohtml.R: sgr_to_html(c("he\033[33mllo", "world\033[44m")) 385s [1] "hello" 385s [2] "world" 385s 11/14 tohtml.R: sgr_to_html(c("hello\033[33m", "world")) 385s [1] "hello" 385s [2] "world" 385s 11/14 tohtml.R: sgr_to_html(c("hello\033[33m", "\033[44mworld")) 385s [1] "hello" 385s [2] "world" 385s 11/14 tohtml.R: sgr_to_html(c("hello\033[33m", "wor\033[44mld")) 385s [1] "hello" 385s [2] "world" 385s 11/14 tohtml.R: sgr_to_html(c("hello\033[33m", "world\033[44m")) 385s [1] "hello" 385s [2] "world" 385s 11/14 tohtml.R: unitizer_sect("Bad inputs", { 385s 11/14 tohtml.R: fansi:::esc_color_code_to_html(matrix(1:12, 4)) 385s 11/14 tohtml.R: sgr_to_html(1:3) 385s [1] "1" "2" "3" 385s Error in fansi:::esc_color_code_to_html(matrix(1:12, 4)) : 385s Argument `x` must be a five row integer matrix. 385s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> 385s 11/14 tohtml.R: sgr_to_html("a", warn = 1:3) 385s Error in to_html_int(x = x, warn = warn, term.cap = term.cap, classes = classes, : 385s Argument `warn` must be TRUE or FALSE. 385s Calls: unitize_dir ... withVisible -> sgr_to_html -> to_html_int -> VAL_IN_ENV -> stop2 385s 11/14 tohtml.R: sgr_to_html("a", term.cap = 1:3) 385s Error in to_html_int(x = x, warn = warn, term.cap = term.cap, classes = classes, : 385s Argument `term.cap` must be character. 385s Calls: unitize_dir ... withVisible -> sgr_to_html -> to_html_int -> VAL_IN_ENV -> stop2 385s 11/14 tohtml.R: sgr_to_html("a", term.cap = "hello") 385s Error in to_html_int(x = x, warn = warn, term.cap = term.cap, classes = classes, : 385s Argument `term.cap` may only contain values in c("all", "bright", "256", "truecolor", "old") 385s Calls: unitize_dir ... withVisible -> sgr_to_html -> to_html_int -> VAL_IN_ENV -> stop2 385s 11/14 tohtml.R: unitizer_sect("issue54", { 385s 11/14 tohtml.R: string <- c("\033[31m", "\033[39m") 385s 11/14 tohtml.R: fansi::sgr_to_html(string) 385s [1] "" "" 385s 11/14 tohtml.R: string1 <- c("\033[31mhello", "world\033[39m moon") 385s 11/14 tohtml.R: fansi::sgr_to_html(string1) 385s [1] "hello" 385s [2] "world moon" 385s 11/14 tohtml.R: string2 <- c("\033[3mhello\033[24m", "world\033[23m moon") 385s 11/14 tohtml.R: fansi::sgr_to_html(string2) 385s [1] "hello" 385s [2] "world moon" 385s 11/14 tohtml.R: unitizer_sect("Colors as classes (#65)", { 385s 11/14 tohtml.R: sgr_to_html("\033[94mhello\033[31;42;1mworld\033[m", classes = T 385s [1] "helloworld" 385s 11/14 tohtml.R: class.8 <- do.call(paste, c(expand.grid(c("fg", "bg"), 0:7), 385s 11/14 tohtml.R: class.16 <- do.call(paste, c(expand.grid(c("fg", "bg"), 0:15), 385s 11/14 tohtml.R: class.256 <- do.call(paste, c(expand.grid(c("fg", "bg"), 0:255), 385s 11/14 tohtml.R: x <- c("\033[94mhe\033[107mllo\033[31;42;1mworld\033[m", "\033[4 385s 11/14 tohtml.R: term.cap <- c("bright", "256", "truecolor") 385s 11/14 tohtml.R: sgr_to_html(x, classes = class.8, term.cap = term.cap) 385s [1] "helloworld" 385s [2] "goodbye super moon" 385s 11/14 tohtml.R: sgr_to_html(x, classes = class.16, term.cap = term.cap) 385s [1] "helloworld" 385s [2] "goodbye super moon" 385s 11/14 tohtml.R: sgr_to_html(x, classes = class.256, term.cap = term.cap) 385s [1] "helloworld" 385s [2] "goodbye super moon" 385s 11/14 tohtml.R: make_styles(class.8) 385s [1] ".fg-0 {color: #000000;}" ".bg-0 {background-color: #000000;}" 385s [3] ".fg-1 {color: #800000;}" ".bg-1 {background-color: #800000;}" 385s [5] ".fg-2 {color: #008000;}" ".bg-2 {background-color: #008000;}" 385s [7] ".fg-3 {color: #808000;}" ".bg-3 {background-color: #808000;}" 385s [9] ".fg-4 {color: #000080;}" ".bg-4 {background-color: #000080;}" 385s [11] ".fg-5 {color: #800080;}" ".bg-5 {background-color: #800080;}" 385s [13] ".fg-6 {color: #008080;}" ".bg-6 {background-color: #008080;}" 385s [15] ".fg-7 {color: #C0C0C0;}" ".bg-7 {background-color: #C0C0C0;}" 385s 11/14 tohtml.R: make_styles(class.8, matrix(c(0, 1, 0, 0, 0, 1, 1, 0, 0), 3)) 385s [1] ".fg-0 {color: #000000;}" ".bg-0 {background-color: #000000;}" 385s [3] ".fg-1 {color: #000080;}" ".bg-1 {background-color: #000080;}" 385s [5] ".fg-2 {color: #800000;}" ".bg-2 {background-color: #800000;}" 385s [7] ".fg-3 {color: #800080;}" ".bg-3 {background-color: #800080;}" 385s [9] ".fg-4 {color: #008000;}" ".bg-4 {background-color: #008000;}" 385s [11] ".fg-5 {color: #008080;}" ".bg-5 {background-color: #008080;}" 385s [13] ".fg-6 {color: #808000;}" ".bg-6 {background-color: #808000;}" 385s [15] ".fg-7 {color: #C0C0C0;}" ".bg-7 {background-color: #C0C0C0;}" 385s 11/14 tohtml.R: sgr_to_html(sgr_256()) 385s [1] "Standard" 385s [2] " 0 1 2 3 4 5 6 7" 385s [3] "" 385s [4] "High-Intensity" 385s [5] " 8 9 10 11 12 13 14 15" 385s [6] "" 385s [7] "216 Colors (Dark)" 385s [8] " 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33" 385s [9] " 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69" 385s [10] " 88 89 90 91 92 93 94 95 96 97 98 99100101102103104105" 385s [11] "124125126127128129130131132133134135136137138139140141" 385s [12] "160161162163164165166167168169170171172173174175176177" 385s [13] "196197198199200201202203204205206207208209210211212213" 385s [14] "" 385s [15] "216 Colors (Light)" 385s [16] " 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51" 385s [17] " 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87" 385s [18] "106107108109110111112113114115116117118119120121122123" 385s [19] "142143144145146147148149150151152153154155156157158159" 385s [20] "178179180181182183184185186187188189190191192193194195" 385s [21] "214215216217218219220221222223224225226227228229230231" 385s [22] "" 385s [23] "Grayscale" 385s [24] "232 233 234 235 236 237 238 239 240 241 242 243" 385s [25] "244 245 246 247 248 249 250 251 252 253 254 255" 385s 11/14 tohtml.R: sgr_to_html(sgr_256(), classes = class.256) 385s [1] "Standard" 385s [2] " 0 1 2 3 4 5 6 7" 385s [3] "" 385s [4] "High-Intensity" 385s [5] " 8 9 10 11 12 13 14 15" 385s [6] "" 385s [7] "216 Colors (Dark)" 385s [8] " 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33" 385s [9] " 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69" 385s [10] " 88 89 90 91 92 93 94 95 96 97 98 99100101102103104105" 385s [11] "124125126127128129130131132133134135136137138139140141" 385s [12] "160161162163164165166167168169170171172173174175176177" 385s [13] "196197198199200201202203204205206207208209210211212213" 385s [14] "" 385s [15] "216 Colors (Light)" 385s [16] " 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51" 385s [17] " 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87" 385s [18] "106107108109110111112113114115116117118119120121122123" 385s [19] "142143144145146147148149150151152153154155156157158159" 385s [20] "178179180181182183184185186187188189190191192193194195" 385s [21] "214215216217218219220221222223224225226227228229230231" 385s [22] "" 385s [23] "Grayscale" 385s [24] "232 233 234 235 236 237 238 239 240 241 242 243" 385s [25] "244 245 246 247 248 249 250 251 252 253 254 255" 385s 11/14 tohtml.R: sgr_to_html("\033[31mhello\033[31m", classes = NULL) 385s Error in to_html_int(x = x, warn = warn, term.cap = term.cap, classes = classes, : 385s Argument `classes` must be TRUE, FALSE, or a character vector. 385s Calls: unitize_dir ... eval -> eval -> withVisible -> sgr_to_html -> to_html_int 385s Error in check_classes(classes) : 385s Argument `classes` must be length 16, 32, or 512 if it is a character vector (is 7). 385s Calls: unitize_dir ... withVisible -> sgr_to_html -> to_html_int -> check_classes 385s 11/14 tohtml.R: sgr_to_html("\033[31mhello\033[31m", classes = character(7L)) 385s 11/14 tohtml.R: sgr_to_html("\033[31mhello\033[31m", classes = rep(NA_character_ 385s Error in check_classes(classes) : Argument `classes` contains NA values. 385s Calls: unitize_dir ... withVisible -> sgr_to_html -> to_html_int -> check_classes 385s 11/14 tohtml.R: sgr_to_html("\033[31mhello\033[31m", classes = rep("bad class", 385s Error in check_classes(classes) : 385s Argument `classes` contains charcters other than ASCII letters, numbers, the hyphen, and underscore. 385s Calls: unitize_dir ... withVisible -> sgr_to_html -> to_html_int -> check_classes 385s Error in make_styles(class.8, c(1, 1, 0, 0, 0, 1, 1, 0, 0)) : 385s Argument `rgb.mix` must be a 3 x 3 numeric matrix with no NAs. 385s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> make_styles 385s 11/14 tohtml.R: make_styles(class.8, c(1, 1, 0, 0, 0, 1, 1, 0, 0)) 385s 11/14 tohtml.R: make_styles(class.8, matrix(c(0, 1, 0, 0, 0, 1, 1, 0, NA), 3)) 385s Error in make_styles(class.8, matrix(c(0, 1, 0, 0, 0, 1, 1, 0, NA), 3)) : 385s Argument `rgb.mix` must be a 3 x 3 numeric matrix with no NAs. 385s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> make_styles 385s Error in make_styles(class.8, "hello") : 385s Argument `rgb.mix` must be a 3 x 3 numeric matrix with no NAs. 385s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> make_styles 385s 11/14 tohtml.R: make_styles(class.8, "hello") 385s 11/14 tohtml.R: make_styles(letters, matrix(c(0, 1, 0, 0, 0, 1, 1, 0, 0), 3)) 385s Error in check_classes(classes) : 385s Argument `classes` must be length 16, 32, or 512 if it is a character vector (is 26). 385s Calls: unitize_dir ... eval -> withVisible -> make_styles -> check_classes 385s 11/14 tohtml.R: make_styles(NULL) 385s Error in make_styles(NULL) : Argument `classes` is not character. 385s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> make_styles 385s 11/14 tohtml.R: unitizer_sect("chars to escape", { 385s 11/14 tohtml.R: str.esc <- c("A\033[45mB", "A\033[43m&B") 385s 11/14 tohtml.R: to_html(str.esc) 385s Warning in to_html_int(x = x, warn = warn, term.cap = term.cap, classes = classes, : 385s `x` contains unescaped HTML special character '<' at index [1] (see ?html_esc); you can use `warn=FALSE` to turn off these warnings. 385s Warning in to_html_int(x = x, warn = warn, term.cap = term.cap, classes = classes, : 385s `x` contains unescaped HTML special character '>' at index [2] (see ?html_esc); you can use `warn=FALSE` to turn off these warnings. 385s [1] "A" 385s [2] "A>B" 385s [3] "A&B" 385s 11/14 tohtml.R: sgr_to_html(str.esc) 385s [1] "A" 385s [2] "A>B" 385s [3] "A&B" 385s 11/14 tohtml.R: to_html(str.esc, warn = FALSE) 385s [1] "A" 385s [2] "A>B" 385s [3] "A&B" 385s 11/14 tohtml.R: to_html(html_esc(str.esc)) 385s [1] "A<B" 385s [2] "A>B" 385s [3] "A&B" 385s 11/14 tohtml.R: str.esc2 <- c("A\033[45mB", "A\033[201mB") 385s 11/14 tohtml.R: to_html(str.esc2) 385s Warning in to_html_int(x = x, warn = warn, term.cap = term.cap, classes = classes, : 385s `x` contains unescaped HTML special character '<' at index [1] (see ?html_esc); you can use `warn=FALSE` to turn off these warnings. 385s Warning in to_html_int(x = x, warn = warn, term.cap = term.cap, classes = classes, : 385s 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. 385s Warning in to_html_int(x = x, warn = warn, term.cap = term.cap, classes = classes, : 385s `x` contains unescaped HTML special character '>' at index [2] (see ?html_esc); you can use `warn=FALSE` to turn off these warn[1] "A"ings. 385s Warning in to_html_int(x = x, warn = warn, term.cap = term.cap, classes = classes, : 385s 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. 385s 385s [2] "A>B" 385s [3] "AB" 385s 11/14 tohtml.R: to_html(str.esc2, warn = FALSE) 385s [1] "A" 385s [2] "A>B" 385s [3] "AB" 385s 11/14 tohtml.R: unitizer_sect("helpers", { 385s 11/14 tohtml.R: html <- sgr_to_html("\033[42mHello") 385s 11/14 tohtml.R: f <- in_html(html, css = "span {background-color: #CCC;}", displ 385s 11/14 tohtml.R: readLines(f) 385s [1] "" 385s [2] "" 385s [3] "" 385s [6] "" 385s [7] "
"                                                
385s  [8] "Hello"
385s  [9] "
" 385s [10] "" 385s [11] "" 385s 11/14 tohtml.R: unlink(f) 385s 11/14 tohtml.R: in_html(html, css = "span {background-color: #CCC;}", display = 386s 11/14 tohtml.R: unitizer_sect("carry", { 386s 11/14 tohtml.R: string.2 <- c("A\033[44m", "B\033[49m", "C", "\033[39mD") 386s 11/14 tohtml.R: to_html(string.2) 386s [1] "A" 386s [2] "B" 386s [3] "C" 386s [4] "D" 386s 11/14 tohtml.R: to_html(string.2, carry = FALSE) 386s [1] "A" "B" "C" "D" 386s 11/14 tohtml.R: to_html(string.2, carry = "\033[33m") 386s [1] "A" 386s [2] "B" 386s [3] "C" 386s [4] "D" 386s 11/14 tohtml.R: to_html(string.2, carry = "\033[33m\033]8;;https://w.z\033\\") 386s [1] "A" 386s [2] "B" 386s [3] "C" 386s [4] "D" 386s 11/14 tohtml.R: string.3 <- c("A\033[44m", "\033[31mC", NA, "\033[39mD") 386s 11/14 tohtml.R: to_html(string.3) 386s [1] "A" 386s [2] "C" 386s [3] NA 386s [4] NA 386s 11/14 tohtml.R: to_html(string.3, carry = FALSE) 386s [1] "A" 386s [2] "C" 386s [3] NA 386s [4] "D" 386s 386s 12/14 trimws.R: 386s 12/14 trimws.R: library(fansi) 386s 12/14 trimws.R: unitizer_sect("Equivalence", { 386s 12/14 trimws.R: txt1 <- c("", "hello", " \t \n\r he\nl\tl\r o \r\t\n", "he\nl\tl 386s 12/14 trimws.R: identical(trimws(txt1), trimws_ctl(txt1)) 386s [1] TRUE 386s 12/14 trimws.R: identical(trimws(txt1, which = "left"), trimws_ctl(txt1, which = 386s [1] TRUE 386s 12/14 trimws.R: identical(trimws(txt1, which = "right"), trimws_ctl(txt1, which 386s [1] TRUE 386s 12/14 trimws.R: unitizer_sect("Controls", { 386s 12/14 trimws.R: txt2 <- c("\033[31m he\033[42;1m llo \033[49m\n\t ", " \033]8;;h 387s 12/14 trimws.R: trimws_ctl(txt2) 387s [1] "\033[31mhe\033[42;1m llo\033[0;1;31m" 387s [2] "\033]8;;https://x.yz\033\\LINK\033[45m hello\033[31m\033]8;;\033\\" 387s 12/14 trimws.R: trimws_ctl(txt2, which = "left") 387s [1] "\033[31mhe\033[42;1m llo \033[49m\n\t " 387s [2] "\033]8;;https://x.yz\033\\LINK\033[45m hello \033]8;;\033\\ \033[31m" 387s 12/14 trimws.R: trimws_ctl(txt2, which = "right") 387s [1] "\033[31m he\033[42;1m llo\033[0;1;31m" 387s [2] " \033]8;;https://x.yz\033\\\tLINK\033[45m hello\033[31m\033]8;;\033\\" 387s 12/14 trimws.R: trimws_ctl(txt2, ctl = c("all", "url", "osc")) 387s Warning in trimws_ctl(txt2, ctl = c("all", "url", "osc")) : 387s 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. 387s [1] "\033[31mhe\033[42;1m llo\033[0;1;31m" 387s [2] "8;;https://x.yz\033\\\tLINK\033[45m hello \033]8;;\033\\\033[31m" 387s 12/14 trimws.R: trimws_ctl(txt2, ctl = c("all", "sgr", "csi")) 387s Warning in trimws_ctl(txt2, ctl = c("all", "sgr", "csi")) : 387s 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. 387s Warning in trimws_ctl(txt2, ctl = c("all", "sgr", "csi")) : 387s 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. 387s [1] "31m he\033[42;1m llo \033[49m" 387s [2] "\033]8;;https://x.yz\033\\LINK\033[45m hello \033]8;;\033\\ \033[31m" 387s 12/14 trimws.R: trimws_ctl(" \r\a A \a\t ", ctl = c("all", "c0")) 387s [1] "\a A \a" 387s 12/14 trimws.R: unitizer_sect("Errors / Corner caess", { 387s 12/14 trimws.R: trimws_ctl(character()) 387s character(0) 387s 12/14 trimws.R: trimws_ctl("hello", which = "top") 387s 12/14 trimws.R: trimws_ctl("hello", whitespace = " ") 387s 387s Warning in trimws_ctl(" \r\a A \a\t ", ctl = c("all", "c0")) : 387s Argument `x` contains a C0 control character at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 387s Error in trimws_ctl("hello", which = "top") : 387s Argument `which` must partial match one of c("both", "left", "right"). 387s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> trimws_ctl 387s Error in trimws_ctl("hello", whitespace = " ") : 387s Argument `whitespace` may only be set to "[ \t\r\n]". 387s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> trimws_ctl 387s 13/14 url.R: 387s 13/14 url.R: library(fansi) 387s 13/14 url.R: unitizer_sect("wrap", { 387s 13/14 url.R: txt <- "This is a link" 387s 13/14 url.R: base.st <- "%s\033]8;%s;%s\033\\%s\033]8;;\033\\%s" 387s 13/14 url.R: base.a <- "%s\033]8;%s;%s\a%s\033]8;;\a%s" 387s 13/14 url.R: url <- "https://x.yz" 387s 13/14 url.R: u0 <- sprintf(base.st, "", "", url, txt, "") 387s 13/14 url.R: u1 <- sprintf(base.a, "", "", url, txt, "") 387s 13/14 url.R: strtrim_ctl(u0, 5) 387s [1] "\033]8;;https://x.yz\033\\This \033]8;;\033\\" 387s 13/14 url.R: strwrap_ctl(u0, 5) 387s [1] "\033]8;;https://x.yz\033\\This\033]8;;\033\\" 387s [2] "\033]8;;https://x.yz\033\\is a\033]8;;\033\\" 387s [3] "\033]8;;https://x.yz\033\\link\033]8;;\033\\" 387s 13/14 url.R: strwrap_ctl(u0, 8) 387s [1] "\033]8;;https://x.yz\033\\This is\033]8;;\033\\" 387s [2] "\033]8;;https://x.yz\033\\a link\033]8;;\033\\" 387s 13/14 url.R: strwrap_ctl(u1, 5) 387s [1] "\033]8;;https://x.yz\033\\This\033]8;;\033\\" 387s [2] "\033]8;;https://x.yz\033\\is a\033]8;;\033\\" 387s [3] "\033]8;;https://x.yz\033\\link\033]8;;\033\\" 387s 13/14 url.R: u2 <- sprintf(base.st, "", "id=one", url, txt, "") 387s 13/14 url.R: u2a <- sprintf(base.st, "", "id=", url, txt, "") 387s 13/14 url.R: u2b <- sprintf(base.st, "", "id", url, txt, "") 387s 13/14 url.R: u3 <- sprintf(base.st, "", "title=ab:id=one", url, txt, "") 387s 13/14 url.R: u4 <- sprintf(base.st, "", "id=one:title=ba", url, txt, "") 387s 13/14 url.R: u6 <- sprintf(base.st, "", "id=one~title=ba", url, txt, "") 387s 13/14 url.R: strwrap_ctl(u2, 5) 387s [1] "\033]8;id=one;https://x.yz\033\\This\033]8;;\033\\" 387s [2] "\033]8;id=one;https://x.yz\033\\is a\033]8;;\033\\" 387s [3] "\033]8;id=one;https://x.yz\033\\link\033]8;;\033\\" 387s 13/14 url.R: strwrap_ctl(u3, 5) 387s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 387s 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. 387s [1] "\033]8;id=one;https://x.yz\033\\This\033]8;;\033\\" 387s [2] "\033]8;id=one;https://x.yz\033\\is a\033]8;;\033\\" 387s [3] "\033]8;id=one;https://x.yz\033\\link\033]8;;\033\\" 387s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 387s 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. 387s 13/14 url.R: strwrap_ctl(u4, 5) 387s [1] "\033]8;id=one;https://x.yz\033\\This\033]8;;\033\\" 387s [2] "\033]8;id=one;https://x.yz\033\\is a\033]8;;\033\\" 387s [3] "\033]8;id=one;https://x.yz\033\\link\033]8;;\033\\" 387s 13/14 url.R: strwrap_ctl(u6, 5) 387s [1] "\033]8;id=one~title=ba;https://x.yz\033\\This\033]8;;\033\\" 387s [2] "\033]8;id=one~title=ba;https://x.yz\033\\is a\033]8;;\033\\" 387s [3] "\033]8;id=one~title=ba;https://x.yz\033\\link\033]8;;\033\\" 387s 13/14 url.R: u7 <- sprintf(base.st, "AB", "id=one", url, txt, "CD") 387s 13/14 url.R: strwrap_ctl(u7, 8) 387s [1] "AB\033]8;id=one;https://x.yz\033\\This\033]8;;\033\\" 387s [2] "\033]8;id=one;https://x.yz\033\\is a\033]8;;\033\\" 387s [3] "\033]8;id=one;https://x.yz\033\\link\033]8;;\033\\CD" 387s 13/14 url.R: txt2 <- "This\033[34m is a link\033[49m" 387s 13/14 url.R: u8 <- sprintf(base.st, "A\033[43mB", "", url, txt2, "CD") 387s 13/14 url.R: strwrap_ctl(u8, 7) 387s [1] "A\033[43mB\033]8;;https://x.yz\033\\This\033[0m\033]8;;\033\\" 387s [2] "\033[34;43m\033]8;;https://x.yz\033\\is a\033[0m\033]8;;\033\\" 387s [3] "\033[34;43m\033]8;;https://x.yz\033\\link\033[49m\033]8;;\033\\CD\033[0m" 387s 13/14 url.R: url2 <- ";wow;https://x.yz" 387s 13/14 url.R: u9 <- sprintf(base.st, "", "", url2, txt, "") 387s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 387s 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. 387s 13/14 url.R: strwrap_ctl(u9, 5) 387s [1] "\033]8;;wow;https://x.yz\033\\This\033]8;;\033\\" 387s [2] "\033]8;;wow;https://x.yz\033\\is a\033]8;;\033\\" 387s [3] "\033]8;;wow;https://x.yz\033\\link\033]8;;\033\\" 387s 13/14 url.R: u10 <- sprintf(base.st, "", "\a", url, txt, "") 387s 13/14 url.R: u11 <- sprintf(base.st, "", "\016", url, txt, "") 387s 13/14 url.R: Encoding(u10) <- "UTF-8" 387s 13/14 url.R: Encoding(u11) <- "UTF-8" 387s 13/14 url.R: u11a <- sprintf(base.st, "", "hello", url, txt, "") 387s 13/14 url.R: strwrap_ctl(u10, 5) 387s [1] ";https://x.yz\033\\This" "is a" 387s [3] "link" 387s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 387s 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. 387s 13/14 url.R: strwrap_ctl(u11, 5) 387s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 387s 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. 387s [1] "\033]8;;https://x.yz\033\\This\033]8;;\033\\" 387s [2] "\033]8;;https://x.yz\033\\is a\033]8;;\033\\" 387s [3] "\033]8;;https://x.yz\033\\link\033]8;;\033\\" 387s 13/14 url.R: strwrap_ctl(u11a, 5) 387s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 387s 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. 387s [1] "\033]8;;https://x.yz\033\\This\033]8;;\033\\" 387s [2] "\033]8;;https://x.yz\033\\is a\033]8;;\033\\" 387s [3] "\033]8;;https://x.yz\033\\link\033]8;;\033\\" 387s 13/14 url.R: nchar_ctl(c(u10, u11, u11a)) 387s [1] 27 14 14 387s 13/14 url.R: u12 <- sprintf(base.st, "", "", "\b", txt, "") 387s 13/14 url.R: u12a <- sprintf(base.st, "", "", "\200", txt, "") 387s 13/14 url.R: Encoding(u12) <- "UTF-8" 387s 13/14 url.R: Encoding(u12a) <- "UTF-8" 387s 13/14 url.R: strwrap_ctl(u12, 5) 387s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 387s 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. 387s [1] "This" "is a" "link" 387s 13/14 url.R: strwrap_ctl(u12a, 5) 387s Error in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 387s Argument `x` contains an illegal non-ASCII byte at index [1], see `?unhandled_ctl`. 387s Calls: unitize_dir ... eval -> eval -> withVisible -> strwrap_ctl -> strwrap2_ctl 387s 13/14 url.R: nchar_ctl(c(u12, u12a)) 387s [1] 14 14 387s 13/14 url.R: nchar_ctl(c(u12, u12a), allowNA = TRUE) 387s [1] 14 14 387s 13/14 url.R: u13 <- "a\033]8;;THE END" 387s 13/14 url.R: u13a <- "a\033];;THE END" 387s 13/14 url.R: u14 <- "a\033]8;;THE END\033]8;;NO?" 387s 13/14 url.R: u15 <- "a\033]8;;THE END\033]8;;\033[" 387s 13/14 url.R: strwrap_ctl(u13, 5) 387s [1] "a" 387s 13/14 url.R: strwrap_ctl(u13, 5, terminate = FALSE) 387s [1] "a\033]8;;THE END" 387s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 387s 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. 387s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 387s 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. 387s 13/14 url.R: strwrap_ctl(u13a, 5) 387s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 387s 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. 387s [1] "a\033];;THE END"Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 387s 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. 387s 387s 13/14 url.R: strwrap_ctl(u14, 5) 387s [1] "a" 387s 13/14 url.R: strwrap_ctl(u15, 5) 387s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 387s 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. 387s [1] "a" 387s 13/14 url.R: nchar_ctl(c(u13, u13a, u14, u15)) 387s Warning in nchar_ctl_internal(x = x, type.int = TYPE.INT, allowNA = allowNA, : 387s 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. 387s Warning in nchar_ctl_internal(x = x, type.int = TYPE.INT, allowNA = allowNA, : 387s 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. 387s Warning in nchar_ctl_internal(x = x, type.int = TYPE.INT, allowNA = allowNA, : 387s 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. 387s Warning in nchar_ctl_internal(x = x, type.int = TYPE.INT, allowNA = allowNA, : 387s 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. 387s [1] 1 1 1 1 387s 13/14 url.R: u16 <- sprintf(base.st, "", "", "", txt, "") 387s 13/14 url.R: u17 <- sprintf(base.st, "", "", "", "", "") 387s 13/14 url.R: strwrap_ctl(u16, 5) 387s [1] "This" "is a" "link" 387s 13/14 url.R: strwrap_ctl(u17, 5) 387s [1] "" 387s 13/14 url.R: strwrap_ctl(u0, 5, terminate = FALSE) 387s [1] "\033]8;;https://x.yz\033\\This" 387s [2] "\033]8;;https://x.yz\033\\is a" 387s [3] "\033]8;;https://x.yz\033\\link\033]8;;\033\\" 387s 13/14 url.R: open <- "\033]8;;ab.c\033\\" 387s 13/14 url.R: u21 <- c("he\033[44mllo \033]8;;de.f\033\\world", "night moon") 387s 13/14 url.R: strwrap_ctl(u21, 5, carry = "\033[33m") 387s [1] "\033[33mhe\033[44mllo\033[0m" 387s [2] "\033[33;44m\033]8;;de.f\033\\world\033[0m\033]8;;\033\\" 387s [3] "\033[33;44m\033]8;;de.f\033\\night\033[0m\033]8;;\033\\" 387s [4] "\033[33;44m\033]8;;de.f\033\\moon\033[0m\033]8;;\033\\" 387s 13/14 url.R: strwrap_ctl(u21, 5, carry = paste0(open, "\033[33m")) 387s [1] "\033[33m\033]8;;ab.c\033\\he\033[44mllo\033[0m\033]8;;\033\\" 387s [2] "\033[33;44m\033]8;;de.f\033\\world\033[0m\033]8;;\033\\" 387s [3] "\033[33;44m\033]8;;de.f\033\\night\033[0m\033]8;;\033\\" 387s [4] "\033[33;44m\033]8;;de.f\033\\moon\033[0m\033]8;;\033\\" 387s 13/14 url.R: unitizer_sect("normalize", { 387s 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 387s 13/14 url.R: normalize_state(u18) 387s [1] "A\033]8;id=a;x.yz\033\\BC\033]8;;\033\\D" 387s 13/14 url.R: u18a <- "A\033]8;id=a;x.yz\033\\B\033]8;;\033\\\033]8;id=a;x.yz\033 387s 13/14 url.R: normalize_state(u18a) 387s [1] "A\033]8;id=a;x.yz\033\\BC\033]8;;\033\\D" 387s 13/14 url.R: u18b <- "A\033]8;id=a;x.yz\033\\\033]8;id=b;x.yz\033\\C\033]8;;\033 387s 13/14 url.R: normalize_state(u18b) 387s [1] "A\033]8;id=b;x.yz\033\\C\033]8;;\033\\D" 387s 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 387s 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 387s 13/14 url.R: normalize_state(u19) 387s [1] "A\033]8;id=a;x.yz\033\\B\033]8;id=b;x.yz\033\\C\033]8;;\033\\D" 387s 13/14 url.R: normalize_state(u20) 387s [1] "A\033]8;id=a;x.yz\033\\B\033]8;id=a;w.yz\033\\C\033]8;;\033\\D" 387s 13/14 url.R: unitizer_sect("substr", { 387s 13/14 url.R: substr_ctl(u0, 6, 9) 387s [1] "\033]8;;https://x.yz\033\\is a\033]8;;\033\\" 387s 13/14 url.R: substr_ctl(u0, 6, 9, terminate = FALSE) 387s [1] "\033]8;;https://x.yz\033\\is a" 387s 13/14 url.R: substr_ctl("hello world", 3, 8, carry = "\033]8;;a.b\033\\") 387s [1] "\033]8;;a.b\033\\llo wo\033]8;;\033\\" 387s 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. 387s 13/14 url.R: Encoding(np.bytes) <- "UTF-8" 387s 13/14 url.R: substr_ctl(np.bytes[1:3], 2, 2) 387s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 387s 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. 387s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 387s 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. 387s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 387s 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. 387s [1] "\033]8;id=c;x.y\033\\B\033]8;;\033\\" 387s [2] "\033]8;;x.y\033\\B\033]8;;\033\\" 387s [3] "B" 387s 13/14 url.R: substr_ctl(np.bytes[4], 2, 2) 387s Error in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 387s Argument `x` contains an illegal non-ASCII byte at index [1], see `?unhandled_ctl`. 387s Calls: unitize_dir ... withVisible -> substr_ctl -> substr2_ctl -> substr_ctl_internal 387s 13/14 url.R: unitizer_sect("tohtml", { 387s 13/14 url.R: to_html(u0) 387s [1] "This is a link" 387s 13/14 url.R: to_html("A\033[44mB\033]8;;x.y\033\\C\033[33m\033]8;;\033\\D") 387s [1] "ABCD" 387s 13/14 url.R: to_html("A\033[44mB\033]8;;x.y\033\\C\033[33m\033]8;;w.z\033\\D") 387s [1] "ABCD" 387s 13/14 url.R: u23 <- c("A \033[44mB \033]8;;x.y\033\\C \033[33m\033]8;;w.z\033\\D 387s 13/14 url.R: to_html(u23) 387s [1] "A B C D" 387s [2] "E F G" 387s [3] "H I" 387s 13/14 url.R: to_html(strwrap_ctl(u23, 4)) 387s [1] "A B" 387s [2] "C D" 387s [3] "E F" 387s [4] "G" 387s [5] "H I" 387s 13/14 url.R: unitizer_sect("osc", { 387s 13/14 url.R: nchar_ctl("\033]hello \aworld") 387s [1] 5 387s 13/14 url.R: nchar_ctl("\033]hello \033\\world") 387s [1] 5 387s 13/14 url.R: nchar_ctl("\033]hello \033\\world", ctl = c("all", "osc")) 387s [1] 11 387s 13/14 url.R: x <- "\033]hello\200\033\\world" 387s 13/14 url.R: Encoding(x) <- "UTF-8" 387s 13/14 url.R: nchar_ctl(x) 387s [1] 5 387s 13/14 url.R: nchar_ctl("\033]hello world") 387s Warning in nchar_ctl_internal(x = x, type.int = TYPE.INT, allowNA = allowNA, : 387s 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. 387s [1] 0 387s 387s 14/14 wrap.R: 387s 14/14 wrap.R: library(unitizer) 387s 14/14 wrap.R: library(fansi) 387s 14/14 wrap.R: unitizer_sect("Basic wrap", { 387s 14/14 wrap.R: hello.0 <- "hello world this is a lovely day" 387s 14/14 wrap.R: strwrap_ctl(hello.0, width = 10) 387s [1] "hello" "world" "this is a" "lovely" "day" 387s 14/14 wrap.R: hello.1 <- "hello world this is. a lovely day." 387s 14/14 wrap.R: strwrap_ctl(hello.1, width = 10) 387s [1] "hello" "world" "this is." "a lovely" "day." 387s 14/14 wrap.R: hello.2 <- "hello\rworld\rthis is. a lovely day." 387s 14/14 wrap.R: strwrap_ctl(hello.2, width = 10) 387s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 387s Argument `x` contains a C0 control character at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 387s [1] "hello\rworld\rthis" "is. a" "lovely" 387s [4] "day." 387s 14/14 wrap.R: hello.3 <- "hello\rworld\nthis is. a lovely\n day." 387s 14/14 wrap.R: strwrap_ctl(hello.3, width = 10) 387s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 387s Argument `x` contains a C0 control character at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 387s [1] "hello\rworld" "this is." "a lovely" "day." 387s 14/14 wrap.R: hello.4 <- " hello world this is a lovely day." 387s 14/14 wrap.R: strwrap_ctl(hello.4, width = 10) 387s [1] "hello" "world" "this is a" "lovely" "day." 387s 14/14 wrap.R: hello.5 <- "hello.\n\n\nworld" 387s 14/14 wrap.R: strwrap_ctl(hello.5, width = 10) 387s [1] "hello." "" "world" 387s 14/14 wrap.R: hello.5a <- "hello.\n \n \nworld" 387s 14/14 wrap.R: strwrap_ctl(hello.5a, width = 10) 387s [1] "hello." "" "world" 387s 14/14 wrap.R: hello.6a <- "hello.\" there" 387s 14/14 wrap.R: strwrap_ctl(hello.6a, width = 40) 387s [1] "hello.\" there" 387s 14/14 wrap.R: hello.6b <- "hello.' there" 387s 14/14 wrap.R: strwrap_ctl(hello.6b, width = 40) 387s [1] "hello.' there" 387s 14/14 wrap.R: hello.6c <- "hello.) there" 387s 14/14 wrap.R: strwrap_ctl(hello.6c, width = 40) 387s [1] "hello.) there" 387s 14/14 wrap.R: unitizer_sect("Basic Ansi", { 387s 14/14 wrap.R: hello2.0 <- paste0("hello ", red, "world ", grn.bg, " this is a l 387s 14/14 wrap.R: strwrap_ctl(hello2.0, 10) 387s [1] "hello" "\033[31mworld\033[0m" 387s [3] "\033[31;42mthis is a\033[0m" "\033[31;42mlovely\033[0mday." 387s 14/14 wrap.R: strwrap_ctl(strip_ctl(hello2.0, "sgr"), 10) 387s [1] "hello" "world" "this is a" "lovelyday." 387s 14/14 wrap.R: hello2.1 <- paste0("hello \033[41mworld\033[m how are you today") 387s 14/14 wrap.R: hello2.2 <- paste0("hello \033[41mworld\033[0m how are you today") 387s 14/14 wrap.R: strwrap_ctl(hello2.1, 15) 387s [1] "hello \033[41mworld\033[0m" "how are you" 387s [3] "today" 387s 14/14 wrap.R: hello.bold.faint <- paste0("hello \033[1mbolded once upon a time\0 387s 14/14 wrap.R: strwrap_ctl(hello.bold.faint, 10) 387s [1] "hello" "\033[1mbolded\033[0m" 387s [3] "\033[1monce upon\033[0m" "\033[1ma time\033[0m" 387s [5] "normal" "\033[2mfainting\033[0m" 387s [7] "\033[2min\033[0m" "\033[2mfaintness\033[0m" 387s [9] "\033[2moh no\033[0m" "normal" 387s 14/14 wrap.R: hello.blinky <- paste0("hello \033[5mbliking slowly oh my\033[25m 387s 14/14 wrap.R: strwrap_ctl(hello.blinky, 10) 387s [1] "hello" "\033[5mbliking\033[0m" 387s [3] "\033[5mslowly oh\033[0m" "\033[5mmy\033[25m normal" 387s [5] "\033[6mblinking\033[0m" "\033[6mquickly\033[0m" 387s [7] "\033[6moh my\033[0m" "normal" 387s 14/14 wrap.R: strwrap_ctl(hello.blinky, 10, terminate = FALSE) 387s [1] "hello" "\033[5mbliking" "slowly oh" 387s [4] "my\033[25m normal" "\033[6mblinking" "quickly" 387s [7] "oh my" "\033[0mnormal" 387s 14/14 wrap.R: hello2.3 <- c(hello2.1, hello2.2) 387s 14/14 wrap.R: strwrap_ctl(hello2.3, 10, simplify = FALSE) 387s [[1]] 387s [1] "hello" "\033[41mworld\033[m how" 387s [3] "are you" "today" 387s 387s [[2]] 387s [1] "hello" "\033[41mworld\033[0m how" 387s [3] "are you" "today" 387s 387s 14/14 wrap.R: strwrap2_ctl(hello2.3, 10, simplify = FALSE) 387s [[1]] 387s [1] "hello" "\033[41mworld\033[m how" 387s [3] "are you" "today" 387s 387s [[2]] 387s [1] "hello" "\033[41mworld\033[0m how" 387s [3] "are you" "today" 387s 387s 14/14 wrap.R: strwrap_ctl("aliquip \033[31mex ea commodo consequat\033[0m\n", 387s [1] "aliquip \033[31mex ea commodo\033[0m" 387s [2] "\033[31mconsequat\033[0m" 387s 14/14 wrap.R: unitizer_sect("Long Wrap", { 387s 14/14 wrap.R: wrap.csi <- strwrap_ctl(lorem.r.thanks, 40) 387s 14/14 wrap.R: nchar(strip_ctl(wrap.csi, "sgr")) 387s [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 387s [26] 5 0 39 36 34 33 36 39 27 0 31 29 37 39 35 34 37 34 31 36 25 37 387s 14/14 wrap.R: nchar(wrap.csi) 387s [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 387s [26] 5 0 75 54 47 49 64 67 45 0 91 78 87 88 74 73 86 54 60 75 25 67 387s 14/14 wrap.R: unitizer_sect("Other Escapes", { 387s 14/14 wrap.R: strwrap_ctl("hello \033kworld yohoo", 12) 387s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 387s 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. 387s [1]Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 387s Argument `x` contains a malformed escape sequence at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 387s "hello \033kworld" "yohoo" 387s 14/14 wrap.R: strwrap_ctl("hello \033\nworld yohoo", 12) 387s [1] "hello \033\nworld" "yohoo" 387s 14/14 wrap.R: c0 <- "hello\037\037\037\037\037\037 world yohoo" 387s 14/14 wrap.R: Encoding(c0) <- "UTF-8" 387s 14/14 wrap.R: strwrap_ctl(c0, 12) 387s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 387s Argument `x` contains a C0 control character at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 387s [1] "hello\037\037\037\037\037\037 world" "yohoo" 387s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 387s 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. 387s 14/14 wrap.R: strwrap_ctl("hello \033[999mworld", 6) 387s [1] "hello" "world" 387s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 387s Argument `x` contains a CSI SGR sequence or OSC hyperlink with invalid substrings at index [1], see `?unhandled_ctl`; you can u14/14 wrap.R: strwrap_ctl("hello \033[31#31mworld", 6) 387s se `warn=FALSE` to turn off these warnings. 387s [1] "hello" "world" 387s 14/14 wrap.R: strwrap_ctl("hello \033[999nworld", 6) 387s [1] "hello" "\033[999nworld" 387s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 387s 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. 387s 14/14 wrap.R: strwrap_ctl("hello \033[999mworld", 6, warn = FALSE) 387s [1] "hello" "world" 387s 14/14 wrap.R: strwrap_ctl("hello \033[31#31mworld", 6, warn = FALSE) 387s [1] "hello" "world" 387s 14/14 wrap.R: strwrap_ctl("hello \033[999nworld", 6, warn = FALSE) 387s [1] "hello" "\033[999nworld" 387s 14/14 wrap.R: unitizer_sect("prefix / initial simple", { 387s 14/14 wrap.R: lorem.sentence <- unlist(strsplit_ctl(lorem, "[.]\\K ", perl = TRU 387s 14/14 wrap.R: lorem.sentence <- gsub(",", ",\n", lorem.sentence, fixed = TRUE) 387s 14/14 wrap.R: lorem.para <- c(paste0(lorem.sentence[1:2], collapse = "\n\n"), 387s 14/14 wrap.R: strwrap_ctl(lorem.para, indent = 2) 387s [1] " Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do" 387s [2] "eiusmod tempor incididunt ut labore et dolore magna aliqua." 387s [3] "" 387s [4] " Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris" 387s [5] "nisi ut aliquip ex ea commodo consequat." 387s [6] " Duis aute irure dolor in reprehenderit in voluptate velit esse cillum" 387s [7] "dolore eu fugiat nulla pariatur." 387s [8] "" 387s [9] " Excepteur sint occaecat cupidatat non proident, sunt in culpa qui" 387s [10] "officia deserunt mollit anim id est laborum." 387s 14/14 wrap.R: strwrap_ctl(lorem.para, exdent = 2) 387s [1] "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod" 387s [2] " tempor incididunt ut labore et dolore magna aliqua." 387s [3] "" 387s [4] "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi" 387s [5] " ut aliquip ex ea commodo consequat." 387s [6] "Duis aute irure dolor in reprehenderit in voluptate velit esse cillum" 387s [7] " dolore eu fugiat nulla pariatur." 387s [8] "" 387s [9] "Excepteur sint occaecat cupidatat non proident, sunt in culpa qui" 387s [10] " officia deserunt mollit anim id est laborum." 387s 14/14 wrap.R: strwrap_ctl(lorem.para, indent = 4, exdent = 2) 387s [1] " Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do" 387s [2] " eiusmod tempor incididunt ut labore et dolore magna aliqua." 387s [3] "" 387s [4] " Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris" 387s [5] " nisi ut aliquip ex ea commodo consequat." 387s [6] " Duis aute irure dolor in reprehenderit in voluptate velit esse" 387s [7] " cillum dolore eu fugiat nulla pariatur." 387s [8] "" 387s [9] " Excepteur sint occaecat cupidatat non proident, sunt in culpa qui" 387s [10] " officia deserunt mollit anim id est laborum." 387s 14/14 wrap.R: unitizer_sect("prefix / initial with ESC", { 387s 14/14 wrap.R: pre <- "\033[32m+ \033[0m" 387s 14/14 wrap.R: ini <- "\033[33m> \033[0m" 387s 14/14 wrap.R: hello.8a <- "hello world yohoo" 387s 14/14 wrap.R: wrap.csi.2 <- strwrap_ctl(hello.8a, 14, prefix = pre, initial = in 387s 14/14 wrap.R: wrap.csi.2 387s [1] "\033[33m> \033[0mhello world" "\033[32m+ \033[0myohoo" 387s 14/14 wrap.R: hello.8b <- c(hello.8a, "oh my this has 2 elements") 387s 14/14 wrap.R: wrap.csi.3 <- strwrap_ctl(hello.8b, 14, prefix = pre, initial = in 387s 14/14 wrap.R: wrap.csi.3 387s [1] "\033[33m> \033[0mhello world" "\033[32m+ \033[0myohoo" 387s [3] "\033[32m+ \033[0moh my this" "\033[32m+ \033[0mhas 2" 387s [5] "\033[32m+ \033[0melements" 387s 14/14 wrap.R: unitizer_sect("wrap2", { 387s 14/14 wrap.R: hello.9a <- "hello\t\033[41mred\033[49m\tworld" 387s 14/14 wrap.R: strwrap2_ctl(hello.9a, 12) 387s [1] "hello \033[41mred\033[0m" "world" 387s 14/14 wrap.R: strwrap2_ctl(hello.9a, 12, tabs.as.spaces = TRUE) 387s [1] "hello \033[41mred\033[49m" " world" 387s 14/14 wrap.R: strwrap2_ctl(hello.9a, 13, tabs.as.spaces = TRUE) 387s [1] "hello \033[41mred\033[49m " " world" 387s 14/14 wrap.R: strwrap2_ctl(hello.9a, 12, tabs.as.spaces = TRUE, tab.stops = c(6, 387s [1] "hello \033[41mred\033[49m " " " 387s [3] "world" 387s 14/14 wrap.R: r.thanks <- lorem.r.thanks.2 387s 14/14 wrap.R: bg <- ceiling(seq_along(r.thanks)/length(r.thanks) * 215) + 16 387s 14/14 wrap.R: fg <- ifelse((((bg - 16)%/%18)%%2), 30, 37) 387s 14/14 wrap.R: tpl <- "\033[%d;48;5;%dm%s\033[49m" 387s 14/14 wrap.R: nz <- nzchar(r.thanks) 387s 14/14 wrap.R: r.thanks[nz] <- sprintf(tpl, fg[nz], bg[nz], r.thanks[nz]) 387s 14/14 wrap.R: r.col <- paste0(r.thanks, collapse = "\n") 387s 14/14 wrap.R: r.wrap <- strwrap2_ctl(r.col, 35, pad.end = " ", wrap.always = TRU 387s 14/14 wrap.R: (r.wrap) 387s [1] "\033[37;48;5;23mMany more, too numerous to mention\033[0m" 387s [2] "\033[37;48;5;23mhere, have contributed by sending \033[0m" 387s [3] "\033[37;48;5;23mbug\033[49m \033[37;48;5;30mreports and suggesting various\033[0m" 387s [4] "\033[37;48;5;30mimprovements.\033[49m \033[0m" 387s [5] "\033[37m \033[0m" 387s [6] "\033[30;48;5;43mSimon Davies whilst at the \033[0m" 387s [7] "\033[30;48;5;43mUniversity of Auckland wrote the \033[0m" 387s [8] "\033[30;48;5;43moriginal\033[49m \033[30;48;5;50mversion of glm().\033[49m \033[0m" 387s [9] "\033[30m \033[0m" 387s [10] "\033[37;48;5;64mJulian Harris and Wing Kwong \033[0m" 387s [11] "\033[37;48;5;64m(Tiki) Wan whilst at the \033[0m" 387s [12] "\033[37;48;5;64mUniversity of\033[49m \033[30;48;5;70mAuckland assisted \033[0m" 387s [13] "\033[30;48;5;70mRoss Ihaka with the original \033[0m" 387s [14] "\033[30;48;5;70mMacintosh port.\033[49m \033[0m" 387s [15] "\033[30m \033[0m" 387s [16] "\033[30;48;5;84mR was inspired by the S \033[0m" 387s [17] "\033[30;48;5;84menvironment which has been \033[0m" 387s [18] "\033[30;48;5;84mprincipally\033[49m \033[37;48;5;90mdeveloped by John \033[0m" 387s [19] "\033[37;48;5;90mChambers, with substantial input \033[0m" 387s [20] "\033[37;48;5;90mfrom Douglas Bates,\033[49m \033[37;48;5;97mRick Becker, \033[0m" 387s [21] "\033[37;48;5;97mBill Cleveland, Trevor Hastie, \033[0m" 387s [22] "\033[37;48;5;97mDaryl Pregibon and\033[49m \033[37;48;5;104mAllan Wilks.\033[49m \033[0m" 387s [23] "\033[37m \033[0m" 387s [24] "\033[30;48;5;117mA special debt is owed to John \033[0m" 387s [25] "\033[30;48;5;117mChambers who has graciously \033[0m" 387s [26] "\033[30;48;5;117mcontributed\033[49m \033[37;48;5;124madvice and \033[0m" 387s [27] "\033[37;48;5;124mencouragement in the early days of\033[0m" 387s [28] "\033[37;48;5;124mR and later became a\033[49m \033[37;48;5;131mmember of the\033[0m" 387s [29] "\033[37;48;5;131mcore team.\033[49m \033[0m" 387s [30] "\033[37m \033[0m" 387s [31] "\033[30;48;5;158mThe R Foundation may decide to \033[0m" 387s [32] "\033[30;48;5;158mgive out \033[0m" 387s [33] "\033[30;48;5;158m@R-project.org\033[49m \033[0m" 387s [34] "\033[37;48;5;164memail addresses to contributors to\033[0m" 387s [35] "\033[37;48;5;164mthe R Project (even without making\033[0m" 387s [36] "\033[37;48;5;164mthem\033[49m \033[37;48;5;171mmembers of the R Foundation) \033[0m" 387s [37] "\033[37;48;5;171mwhen in the view of the R \033[0m" 387s [38] "\033[37;48;5;171mFoundation this\033[49m \033[30;48;5;178mwould help advance\033[0m" 387s [39] "\033[30;48;5;178mthe R project.\033[49m \033[0m" 387s [40] "\033[30m \033[0m" 387s [41] "\033[30;48;5;191mThe R Core Group, Roger Bivand, \033[0m" 387s [42] "\033[30;48;5;191mJennifer Bryan, Di Cook, Dirk \033[0m" 387s [43] "\033[30;48;5;191mEddelbuettel,\033[49m \033[37;48;5;198mJohn Fox, Bettina \033[0m" 387s [44] "\033[37;48;5;198mGrn, Frank Harrell, Torsten \033[0m" 387s [45] "\033[37;48;5;198mHothorn, Stefano Iacus,\033[49m \033[37;48;5;205mJulie \033[0m" 387s [46] "\033[37;48;5;205mJosse, Balasubramanian Narasimhan,\033[0m" 387s [47] "\033[37;48;5;205mMarc Schwartz, Heather Turner,\033[49m \033[0m" 387s [48] "\033[37;48;5;211mBill Venables, Hadley Wickham and \033[0m" 387s [49] "\033[37;48;5;211mAchim Zeileis are the ordinary \033[0m" 387s [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" 387s [51] "\033[30;48;5;225maddition, David Meyer and Simon \033[0m" 387s [52] "\033[30;48;5;225mWood are also e-addressable by\033[49m \033[0m" 387s [53] "\033[30;48;5;231m.@R-project.o\033[0m" 387s [54] "\033[30;48;5;231mrg.\033[49m \033[0m" 387s 14/14 wrap.R: hello.9b <- "\033[41mhello\n\nworld." 387s 14/14 wrap.R: strwrap2_ctl(hello.9b, 8, pad.end = " ") 387s [1] "\033[41mhello \033[0m" "\033[41m \033[0m" "\033[41mworld. \033[0m" 387s 14/14 wrap.R: strwrap2_ctl(hello.9b, 8, pad.end = 0) 387s [1] "\033[41mhello00\033[0m" "\033[41m0000000\033[0m" "\033[41mworld.0\033[0m" 387s 14/14 wrap.R: hello.9b <- " \033[41mhello world." 387s 14/14 wrap.R: strwrap2_ctl(hello.9b, 8, strip.spaces = FALSE) 387s [1] " \033[41mhello\033[0m" "\033[41m world.\033[0m" 387s 14/14 wrap.R: hello.9c <- "\033[41m hello world." 387s 14/14 wrap.R: ws.0 <- "hello worldza" 387s 14/14 wrap.R: ws.1 <- "hello \t worldza" 387s 14/14 wrap.R: ws.2 <- "hello \n worldza" 387s 14/14 wrap.R: strwrap2_sgr(ws.0, 7, strip.spaces = FALSE) 387s [1] "hello " " " "worldza" 387s 14/14 wrap.R: strwrap2_sgr(ws.0, 7, strip.spaces = FALSE, wrap.always = TRUE) 387s [1] "hello " " " "worldz" "a" 387s 14/14 wrap.R: strwrap2_sgr(ws.0, 6, strip.spaces = FALSE) 387s [1] "hello" " " "worldza" 387s 14/14 wrap.R: strwrap2_sgr(ws.0, 6, strip.spaces = FALSE, wrap.always = TRUE) 387s [1] "hello" " " "world" "za" 387s 14/14 wrap.R: strwrap2_sgr(ws.1, 7, strip.spaces = FALSE) 387s [1] "hello " "\t " "worldza" 387s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 387s Argument `x` contains a C0 control character at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 387s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 387s Argument `x` contains a C0 control character at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 387s 14/14 wrap.R: strwrap2_sgr(ws.1, 7, strip.spaces = FALSE, wrap.always = TRUE) 387s [1] "hello " "\t " "worldz" "a" 387s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 387s Argument `x` contains a C0 control character at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 387s 14/14 wrap.R: strwrap2_sgr(ws.1, 6, strip.spaces = FALSE) 387s [1] "hello" " \t " "worldza" 387s 14/14 wrap.R: strwrap2_sgr(ws.1, 6, strip.spaces = FALSE, wrap.always = TRUE) 387s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 387s Argument `x` contains a C0 control character at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 387s [1] "hello" " \t " "world" "za" 387s 14/14 wrap.R: strwrap2_sgr(" hello world ", 7, strip.spaces = FALSE) 387s [1] " hello" " world" " " 387s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 387s Argument `x` contains a C0 control character at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 387s 14/14 wrap.R: strwrap2_sgr("\thello\tworld\t", 7, strip.spaces = FALSE) 387s [1] "\thello" "\tworld" "\t" 387s 14/14 wrap.R: strwrap2_sgr("\nhello\nworld\n", 7, strip.spaces = FALSE) 387s [1] "" "hello" "world" "" 387s 14/14 wrap.R: unitizer_sect("_sgr", { 387s 14/14 wrap.R: hello.9e <- c("hello\t\033[91mworld\033[m\t\033[38;2;31;42;4mworld 387s 14/14 wrap.R: strwrap_sgr(hello.9e, 12, term.cap = "256") 387s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 387s 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. 387s [1] "hello \033[91mworld\033[0m" 387s [2] "\033[38;2;31;42;4mworld\033[0m" 387s [3] "\033[38;2;31;42;4mboohaythere\033[0m" 387s [4] "asdfasdfasdfasdf" 387s 14/14 wrap.R: hello.9f <- "hello \033[91mworld boohaythereyowza" 387s 14/14 wrap.R: strwrap2_sgr(hello.9f, 12, prefix = "++", initial = ">>", wrap.alw 387s [1] ">>hello ~~~" "\033[91m++world ~~~\033[0m" 387s [3] "\033[91m++boohaythe\033[0m" "\033[91m++reyowza~~\033[0m" 387s 14/14 wrap.R: strwrap2_sgr(hello.9e, 12, tabs.as.spaces = TRUE, tab.stops = c(6, 387s [[1]] 387s [1] ">> hello ~" 387s [2] "\033[91m++ world\033[m " 387s [3] "++ \033[38;2;31;42;4mworld\033[0m" 387s [4] "\033[38;2;31;42;4m++ ~~~~~~~\033[0m" 387s [5] "\033[38;2;31;42;4m++ boohayth\033[0m" 387s [6] "\033[38;2;31;42;4m++ ere~~~~~\033[0m" 387s 387s [[2]] 387s [1] "++ asdfasd" "++ fasdfasd" "++ f~~~~~~~" 387s 387s 14/14 wrap.R: strwrap_sgr(hello.9e, 12, warn = FALSE, indent = 2, exdent = 1, 387s [[1]] 387s [1] ">> hello" 387s [2] "\033[91m++ world\033[0m" 387s [3] "\033[38;2;31;42;4m++ world\033[0m" 387s [4] "\033[38;2;31;42;4m++ boohaythere\033[0m" 387s 387s [[2]] 387s [1] "++ asdfasdfasdfasdf" 387s 387s 14/14 wrap.R: strwrap_sgr(hello.9e, 12, indent = 2, exdent = 1, prefix = "++", 387s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 387s 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. 387s [[1]] 387s [1] ">> hello" 387s [2] "\033[91m++ world\033[0m" 387s [3] "\033[38;2;31;42;4m++ world\033[0m" 387s [4] "\033[38;2;31;42;4m++ boohaythere\033[0m" 387s 387s [[2]] 387s [1] "++ asdfasdfasdfasdf" 387s 387s 14/14 wrap.R: unitizer_sect("long words", { 387s 14/14 wrap.R: hello.long <- "\033[31mhelloworld\033[mlongword" 387s 14/14 wrap.R: strwrap_ctl(hello.long, 8) 387s [1] "\033[31mhelloworld\033[mlongword" 387s 14/14 wrap.R: strwrap2_ctl(hello.long, 8, wrap.always = TRUE) 387s [1] "\033[31mhellowo\033[0m" "\033[31mrld\033[mlong" "word" 387s 14/14 wrap.R: unitizer_sect("rare escapes", { 387s 14/14 wrap.R: hello.border <- c("hello \033[51mworld woohoo\033[54m woohoo", 387s 14/14 wrap.R: strwrap_ctl(hello.border, 12) 387s [1] "hello \033[51mworld\033[0m" "\033[51mwoohoo\033[0m" 387s [3] "woohoo" "hello \033[52mworld\033[0m" 387s [5] "\033[52mwoohoo\033[0m" "woohoo" 387s [7] "hello \033[53mworld\033[0m" "\033[53mwoohoo\033[0m" 387s [9] "woohoo" 387s 14/14 wrap.R: strwrap_ctl(hello.border, 12, terminate = FALSE) 387s [1] "hello \033[51mworld" "woohoo" "\033[0mwoohoo" 387s [4] "hello \033[52mworld" "woohoo" "\033[0mwoohoo" 387s [7] "hello \033[53mworld" "woohoo" "\033[0mwoohoo" 387s 14/14 wrap.R: hello.ideogram <- c("hello \033[60mworld woohoo\033[65m woohoo", 387s 14/14 wrap.R: strwrap_ctl(hello.ideogram, 12, terminate = FALSE) 387s [1] "hello \033[60mworld" "woohoo" "\033[0mwoohoo" 387s [4] "hello \033[61mworld" "woohoo" "\033[0mwoohoo" 387s [7] "hello \033[62mworld" "woohoo" "\033[0mwoohoo" 387s [10] "hello \033[63mworld" "woohoo" "\033[0mwoohoo" 387s [13] "hello \033[64mworld" "woohoo" "\033[0mwoohoo" 387s 14/14 wrap.R: hello.font <- c("hello \033[10mworld woohoo\033[10m woohoo", 387s 14/14 wrap.R: strwrap_ctl(hello.font, 12, terminate = FALSE) 387s [1] "hello \033[10mworld" "woohoo" "woohoo" 387s [4] "hello \033[11mworld" "woohoo" "\033[0mwoohoo" 387s [7] "hello \033[12mworld" "woohoo" "\033[0mwoohoo" 387s [10] "hello \033[13mworld" "woohoo" "\033[0mwoohoo" 387s [13] "hello \033[14mworld" "woohoo" "\033[0mwoohoo" 387s [16] "hello \033[15mworld" "woohoo" "\033[0mwoohoo" 387s [19] "hello \033[16mworld" "woohoo" "\033[0mwoohoo" 387s [22] "hello \033[17mworld" "woohoo" "\033[0mwoohoo" 387s [25] "hello \033[18mworld" "woohoo" "\033[0mwoohoo" 387s [28] "hello \033[19mworld" "woohoo" "\033[0mwoohoo" 387s 14/14 wrap.R: unitizer_sect("term cap and bright", { 387s 14/14 wrap.R: getOption("fansi.term.cap", dflt_term_cap()) 387s [1] "bright" "256" 387s 14/14 wrap.R: hello.bright <- "\033[42mhello \033[103mworld wowza\033[49m" 387s 14/14 wrap.R: strwrap_ctl(hello.bright, 13) 387s [1] "\033[42mhello \033[103mworld\033[0m" "\033[103mwowza\033[0m" 387s 14/14 wrap.R: strwrap_ctl(hello.bright, 13, term.cap = character()) 387s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 387s 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. 387s [1] "\033[42mhello \033[103mworld\033[0m" "\033[103mwowza\033[0m" 387s 14/14 wrap.R: hello.255 <- "\033[42mhello \033[48;5;47mworld wowza\033[49m" 387s 14/14 wrap.R: strwrap_ctl(hello.255, 13) 387s [1] "\033[42mhello \033[48;5;47mworld\033[0m" 387s [2] "\033[48;5;47mwowza\033[0m" 387s 14/14 wrap.R: strwrap_ctl(hello.255, 13, term.cap = character()) 387s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 387s 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. 387s [1] "\033[42mhello \033[48;5;47mworld\033[0m" 387s [2] "\033[48;5;47mwowza\033[0m" 387s 14/14 wrap.R: hello.tru <- "\033[42mhello \033[48;2;7;41;4mworld wowza\033[m" 387s 14/14 wrap.R: strwrap_ctl(hello.tru, 13, term.cap = "truecolor") 387s [1] "\033[42mhello \033[48;2;7;41;4mworld\033[0m" 387s [2] "\033[48;2;7;41;4mwowza\033[0m" 387s 14/14 wrap.R: strwrap_ctl(hello.tru, 13) 387s [1] "\033[42mhello \033[48;2;7;41;4mworld\033[0m" 387s [2] "\033[48;2;7;41;4mwowza\033[0m" 387s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 387s 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. 387s 14/14 wrap.R: unitizer_sect("corner cases", { 387s 14/14 wrap.R: strwrap_ctl("a", -1) 387s [1] "a" 387s 14/14 wrap.R: strwrap2_ctl("a", -1) 387s [1] "a" 387s 14/14 wrap.R: strwrap2_ctl("a", Inf) 387s [1] "a" 387s 14/14 wrap.R: strwrap2_ctl("a", NA_real_) 387s Error in strwrap2_ctl("a", NA_real_) : 387s Argument `width` must be a positive scalar numeric representable as integer. 387s Calls: unitize_dir ... strwrap2_ctl -> VAL_WRAP_IN_ENV -> is_scl_int_pos -> stop2 387s 14/14 wrap.R: strwrap2_ctl("a", NA_integer_) 387s Error in strwrap2_ctl("a", NA_integer_) : 387s Argument `width` must be a positive scalar numeric representable as integer. 387s Calls: unitize_dir ... strwrap2_ctl -> VAL_WRAP_IN_ENV -> is_scl_int_pos -> stop2 387s 14/14 wrap.R: strwrap2_ctl("a", -1, wrap.always = TRUE) 387s Error in strwrap2_ctl("a", -1, wrap.always = TRUE) : 387s Width must be at least 2 in `wrap.always` mode. 387s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> strwrap2_ctl 387s 14/14 wrap.R: strwrap2_ctl("a", 0, wrap.always = TRUE) 387s Error in strwrap2_ctl("a", 0, wrap.always = TRUE) : 387s Width must be at least 2 in `wrap.always` mode. 387s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> strwrap2_ctl 387s 14/14 wrap.R: strwrap2_ctl("a", 1, wrap.always = TRUE) 387s Error in strwrap2_ctl("a", 1, wrap.always = TRUE) : 387s Width must be at least 2 in `wrap.always` mode. 387s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> strwrap2_ctl 387s 14/14 wrap.R: tryCatch(strwrap_ctl("hello world", 6, prefix = "\033p"), warning 387s [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." 387s 14/14 wrap.R: suppressWarnings(strwrap_ctl("hello world", 6, prefix = "\033p")) 387s [1] "\033phello" "\033pworld" 387s 14/14 wrap.R: tryCatch(strwrap2_ctl("hello world", 8, pad.end = "\t"), error = c 387s [1] "Argument `pad.end` must be an empty string or a single printable ASCII character." 387s 14/14 wrap.R: tryCatch(strwrap2_ctl("hello world", 8, pad.end = " "), error = c 387s [1] "Argument `pad.end` must be at most one byte long." 387s 14/14 wrap.R: strwrap2_ctl("goodbye moon", 8, indent = 5, prefix = "> hello >") 387s [1] "> hello > goodbye" "> hello >moon" 387s 14/14 wrap.R: strwrap2_ctl("goodbye moon", 16, indent = 5, prefix = "> hello >", 387s [1] "> hello > g" "> hello >oodbye" "> hello >moon" 388s 14/14 wrap.R: tryCatch(strwrap2_ctl("goodbye moon", 15, indent = 5, prefix = "> 388s [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`." 388s 14/14 wrap.R: strwrap_ctl("hello world\033[31m\033A", 12) 388s [1] "hello world\033[31m\033A\033[0m" 388s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 388s 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. 388s 14/14 wrap.R: strwrap_ctl("hello world\033A\033[31m", 12) 388s [1] "hello world\033A" 388s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 388s 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. 388s 14/14 wrap.R: strwrap_ctl("hello \033[44m world", 5) 388s [1] "hello" "\033[44mworld\033[0m" 388s 14/14 wrap.R: strwrap_ctl("hello \033[44m world", 6) 388s [1] "hello" "\033[44mworld\033[0m" 388s 14/14 wrap.R: strwrap_ctl("hello \033[44m world", 5, terminate = FALSE) 388s [1] "hello" "\033[44mworld" 388s 14/14 wrap.R: strwrap_ctl("hello \033[44m world", 6, terminate = FALSE) 388s [1] "hello" "\033[44mworld" 388s 14/14 wrap.R: strwrap_ctl("hello\n\033[44m\nworld", 5) 388s [1] "hello" "" "\033[44mworld\033[0m" 388s 14/14 wrap.R: strwrap_ctl("hello \n\033[44m\n world", 5) 388s [1] "hello" "" "\033[44mworld\033[0m" 388s 14/14 wrap.R: strwrap_ctl("hello \n \033[44m\n world", 5) 388s [1] "hello" "" "\033[44mworld\033[0m" 388s 14/14 wrap.R: strwrap_ctl("hello \n \n\033[44mworld", 5) 388s [1] "hello" "" "\033[44mworld\033[0m" 388s 14/14 wrap.R: strwrap_ctl("hello \n \n\033[44m world", 5) 388s [1] "hello" "" "\033[44mworld\033[0m" 388s 14/14 wrap.R: strwrap_ctl("hello \n \n\033[44m\nworld", 5) 388s [1] "hello" "" "\033[44mworld\033[0m" 388s 14/14 wrap.R: strwrap_ctl("hello \033[44m\n\n world", 5) 388s [1] "hello" "" "\033[44mworld\033[0m" 388s 14/14 wrap.R: strwrap("hello \n\n world", 5) 388s [1] "hello" "" "world" 388s 14/14 wrap.R: strwrap_ctl("\033[33mAB\033[44m CD", 3) 388s [1] "\033[33mAB\033[0m" "\033[33;44mCD\033[0m" 388s 14/14 wrap.R: strwrap2_ctl("AB\033[44m\n\nCD", 3, wrap.always = TRUE) 388s [1] "AB" "" "\033[44mCD\033[0m" 388s 14/14 wrap.R: strwrap2_ctl("AB\033[44m\n\nCD", 3, wrap.always = TRUE, pad.end = 388s [1] "AB" "\033[44m##\033[0m" "\033[44mCD\033[0m" 388s 14/14 wrap.R: strwrap2_ctl("AB\033[44m\n\nCD", 3, wrap.always = TRUE, terminate 388s [1] "AB" "\033[44m" "CD" 388s 14/14 wrap.R: strwrap2_ctl("AB\033[44m CD", 4, pad.end = "#") 388s [1] "AB\033[44m#\033[0m" "\033[44mCD#\033[0m" 388s 14/14 wrap.R: strwrap2_ctl("AB\033[44m CD", 3, pad.end = "#") 388s [1] "AB" "\033[44mCD\033[0m" 388s 14/14 wrap.R: strwrap2_sgr("\033[43mAB \033[34mCD", strip.spaces = FALSE, 4) 388s [1] "\033[43mAB \033[0m" "\033[34;43mCD\033[0m" 388s 14/14 wrap.R: strwrap_ctl("\033[31m\033[43m", 5) 388s [1] "" 388s 14/14 wrap.R: strwrap2_ctl("a\033[31mb", 2, wrap.always = TRUE) 388s [1] "a" "\033[31mb\033[0m" 388s 14/14 wrap.R: strwrap_ctl("A \033[31mB\033[39m", 3) 388s [1] "A" "\033[31mB\033[0m" 388s 14/14 wrap.R: strwrap2_ctl("\033[35phello \033[35p world", 5, strip.spaces = FAL 388s Warning in strwrap2_ctl("\033[35phello \033[35p world", 5, strip.spaces = FALSE) :[1] 388s 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. 388s "\033[35phello" " \033[35p " "world" 388s 14/14 wrap.R: identical(strwrap(c(NA, "a b"), 4, prefix = ">"), strwrap_ctl(c(NA 388s [1] TRUE 388s 14/14 wrap.R: identical(strwrap("a b", 4, prefix = NA), strwrap_ctl("a b", 388s [1] TRUE 388s 14/14 wrap.R: unitizer_sect("bad inputs", { 388s 14/14 wrap.R: strwrap_ctl(1:3) 388s [1] "1" "2" "3" 388s 14/14 wrap.R: strwrap_ctl(hello2.0, width = "35") 388s Error in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 388s Argument `width` must be numeric. 388s Calls: unitize_dir ... strwrap_ctl -> strwrap2_ctl -> VAL_WRAP_IN_ENV -> stop2 388s 14/14 wrap.R: strwrap_ctl(hello2.0, width = NA_integer_) 388s Error in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 388s Argument `width` must be a positive scalar numeric representable as integer. 388s Calls: unitize_dir ... strwrap2_ctl -> VAL_WRAP_IN_ENV -> is_scl_int_pos -> stop2 388s 14/14 wrap.R: strwrap_ctl(hello2.0, indent = NA_integer_) 388s Error in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 388s Argument `indent` must be a positive scalar numeric representable as integer. 388s Calls: unitize_dir ... strwrap2_ctl -> VAL_WRAP_IN_ENV -> is_scl_int_pos -> stop2 388s 14/14 wrap.R: strwrap_ctl(hello2.0, indent = -3) 388s Error in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 388s Argument `indent` must be a positive scalar numeric representable as integer. 388s Calls: unitize_dir ... strwrap2_ctl -> VAL_WRAP_IN_ENV -> is_scl_int_pos -> stop2 388s 14/14 wrap.R: strwrap_ctl(hello2.0, exdent = -3) 388s Error in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 388s Argument `exdent` must be a positive scalar numeric representable as integer. 388s Calls: unitize_dir ... strwrap2_ctl -> VAL_WRAP_IN_ENV -> is_scl_int_pos -> stop2 388s 14/14 wrap.R: strwrap_ctl(hello2.0, exdent = 1:3) 388s Error in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 388s Argument `exdent` must be a positive scalar numeric representable as integer. 388s Calls: unitize_dir ... strwrap2_ctl -> VAL_WRAP_IN_ENV -> is_scl_int_pos -> stop2 388s 14/14 wrap.R: strwrap_ctl(hello2.0, prefix = 1:3) 388s Error in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 388s Argument `prefix` must be a scalar character. 388s Calls: unitize_dir ... strwrap_ctl -> strwrap2_ctl -> VAL_WRAP_IN_ENV -> stop2 388s 14/14 wrap.R: strwrap_ctl(hello2.0, initial = 1:3) 388s Error in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 388s Argument `initial` must be a scalar character. 388s Calls: unitize_dir ... strwrap_ctl -> strwrap2_ctl -> VAL_WRAP_IN_ENV -> stop2 388s 14/14 wrap.R: strwrap_ctl(hello2.0, warn = NULL) 388s Error in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 388s Argument `warn` must be TRUE or FALSE. 388s Calls: unitize_dir ... withVisible -> strwrap_ctl -> strwrap2_ctl -> VAL_IN_ENV -> stop2 388s 14/14 wrap.R: strwrap_ctl(hello2.0, term.cap = 1:3) 388s Error in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 388s Argument `term.cap` must be character. 388s Calls: unitize_dir ... withVisible -> strwrap_ctl -> strwrap2_ctl -> VAL_IN_ENV -> stop2 388s 14/14 wrap.R: strwrap_ctl(hello2.0, term.cap = "bananas") 388s Error in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 388s Argument `term.cap` may only contain values in c("all", "bright", "256", "truecolor", "old") 388s Calls: unitize_dir ... withVisible -> strwrap_ctl -> strwrap2_ctl -> VAL_IN_ENV -> stop2 388s 14/14 wrap.R: strwrap_ctl(hello2.0, ctl = 1:3) 388s Error in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 388s Argument `ctl` must be character. 388s Calls: unitize_dir ... withVisible -> strwrap_ctl -> strwrap2_ctl -> VAL_IN_ENV -> stop2 388s 14/14 wrap.R: strwrap_ctl(hello2.0, ctl = "bananas") 388s Error in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 388s Argument `ctl` may contain only values in `c("all", "nl", "c0", "sgr", "csi", "esc", "url", "osc")` 388s Calls: unitize_dir ... withVisible -> strwrap_ctl -> strwrap2_ctl -> VAL_IN_ENV -> stop2 388s 14/14 wrap.R: strwrap2_ctl(hello2.0, wrap.always = 1:3) 388s Error in strwrap2_ctl(hello2.0, wrap.always = 1:3) : 388s Argument `wrap.always` must be TRUE or FALSE. 388s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> strwrap2_ctl 388s 14/14 wrap.R: strwrap2_ctl(hello2.0, wrap.always = NA) 388s Error in strwrap2_ctl(hello2.0, wrap.always = NA) : 388s Argument `wrap.always` must be TRUE or FALSE. 388s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> strwrap2_ctl 388s 14/14 wrap.R: strwrap2_ctl(hello2.0, tabs.as.spaces = NA) 388s Error in strwrap2_ctl(hello2.0, tabs.as.spaces = NA) : 388s Argument `tabs.as.spaces` must be TRUE or FALSE. 388s Calls: unitize_dir ... eval -> withVisible -> strwrap2_ctl -> VAL_IN_ENV -> stop2 388s 14/14 wrap.R: strwrap2_ctl(hello2.0, tabs.as.spaces = 1) 388s [1] "hello \033[31mworld \033[42m this is a lovely\033[0mday." 388s 14/14 wrap.R: strwrap2_ctl(hello2.0, tab.stops = -(1:3)) 388s Error in strwrap2_ctl(hello2.0, tab.stops = -(1:3)) : 388s Argument `tab.stops` must be numeric, strictly positive, and representable as an integer. 388s Calls: unitize_dir ... eval -> withVisible -> strwrap2_ctl -> VAL_IN_ENV -> stop2 388s 14/14 wrap.R: strwrap2_ctl(hello2.0, tab.stops = 0) 388s Error in strwrap2_ctl(hello2.0, tab.stops = 0) : 388s Argument `tab.stops` must be numeric, strictly positive, and representable as an integer. 388s Calls: unitize_dir ... eval -> withVisible -> strwrap2_ctl -> VAL_IN_ENV -> stop2 388s 14/14 wrap.R: strwrap2_ctl(hello2.0, strip.spaces = 1:3) 388s Error in strwrap2_ctl(hello2.0, strip.spaces = 1:3) : 388s Argument `strip.spaces` must be TRUE or FALSE. 388s Calls: unitize_dir ... eval -> withVisible -> strwrap2_ctl -> VAL_IN_ENV -> stop2 388s 14/14 wrap.R: strwrap2_ctl(hello2.0, tabs.as.spaces = TRUE, strip.spaces = TRUE) 388s Error in strwrap2_ctl(hello2.0, tabs.as.spaces = TRUE, strip.spaces = TRUE) : 388s `tabs.as.spaces` and `strip.spaces` should not both be TRUE. 388s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> strwrap2_ctl 388s 14/14 wrap.R: strwrap2_ctl(hello2.0, pad.end = letters) 388s Error in strwrap2_ctl(hello2.0, pad.end = letters) : 388s Argument `pad.end` must be a scalar character. 388s Calls: unitize_dir ... withVisible -> strwrap2_ctl -> VAL_WRAP_IN_ENV -> stop2 388s 14/14 wrap.R: bytes <- "\360\343" 388s 14/14 wrap.R: Encoding(bytes) <- "bytes" 388s 14/14 wrap.R: strwrap_ctl(hello2.0, prefix = bytes) 388s Error in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 388s Argument `prefix` cannot be "bytes" encoded. 388s Calls: unitize_dir ... strwrap_ctl -> strwrap2_ctl -> VAL_WRAP_IN_ENV -> stop2 388s 14/14 wrap.R: strwrap_ctl(hello2.0, initial = bytes) 388s Error in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 388s Argument `initial` cannot be "bytes" encoded. 388s Calls: unitize_dir ... strwrap_ctl -> strwrap2_ctl -> VAL_WRAP_IN_ENV -> stop2 388s 14/14 wrap.R: strwrap2_ctl(hello2.0, pad.end = bytes) 388s Error in strwrap2_ctl(hello2.0, pad.end = bytes) : 388s Argument `pad.end` cannot be "bytes" encoded. 388s Calls: unitize_dir ... withVisible -> strwrap2_ctl -> VAL_WRAP_IN_ENV -> stop2 388s 14/14 wrap.R: strwrap_ctl(c(hello2.0, bytes)) 388s Error in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 388s Argument `x` contains a "bytes" encoded string at index [2], which is disallowed. 388s Calls: unitize_dir ... withVisible -> strwrap_ctl -> strwrap2_ctl -> VAL_IN_ENV -> stop2 388s 388s Warning in history_capt(history, interactive.mode) : 388s Unable to capture history in non-interactive mode. 388s Prepping Unitizers... 389s 389s | Summary of files in common directory '.': 389s | 389s | Pass Fail 389s | 1. has.R 32 - 389s | 2. interactions.R 93 - 389s | 3. misc.R 107 - 389s | 4. nchar.R 48 - 389s | 5. normalize.R 47 - 389s | 6. overflow.R 56 - 389s | 7. strip.R 99 - 389s | 8. strsplit.R 38 - 389s | 9. substr.R 219 - 389s | 10. tabs.R 16 - 389s | 11. tohtml.R 68 - 389s | 12. trimws.R 12 - 389s | 13. url.R 50 - 389s | 14. wrap.R 141 - 389s | .............................. 389s | 1026 - 389s 389s | 1026/1026 tests passed; nothing to review. 389s 389s 389s Preloads... 389s Error in gzfile(file, "rb") : cannot open the connection 389s In addition: Warning message: 389s In gzfile(file, "rb") : 389s cannot open compressed file 'unitizer/_pre/lorem.data/lorem.cn.phrases.RDS', probable reason 'No such file or directory' 389s Error in unitize_core(test.file.inf, list(store.id.inf), state = state, : 389s Argument `pre` could not be interpreted: 389s Error sourcing file `/tmp/autopkgtest.Q3TmTM/autopkgtest_tmp/tests/special/_pre/lorem-utf8.R`, see above for details 389s Calls: unitize -> unitize_core 389s Execution halted 389s autopkgtest [10:49:24]: test run-unit-test: -----------------------] 390s run-unit-test FAIL non-zero exit status 1 390s autopkgtest [10:49:25]: test run-unit-test: - - - - - - - - - - results - - - - - - - - - - 390s autopkgtest [10:49:25]: test pkg-r-autopkgtest: preparing testbed 390s Reading package lists... 390s Building dependency tree... 390s Reading state information... 390s Starting pkgProblemResolver with broken count: 0 390s Starting 2 pkgProblemResolver with broken count: 0 390s Done 391s The following NEW packages will be installed: 391s build-essential cpp cpp-14 cpp-14-s390x-linux-gnu cpp-s390x-linux-gnu 391s dctrl-tools g++ g++-14 g++-14-s390x-linux-gnu g++-s390x-linux-gnu gcc gcc-14 391s gcc-14-s390x-linux-gnu gcc-s390x-linux-gnu gfortran gfortran-14 391s gfortran-14-s390x-linux-gnu gfortran-s390x-linux-gnu icu-devtools libasan8 391s libblas-dev libbz2-dev libcc1-0 libdeflate-dev libgcc-14-dev 391s libgfortran-14-dev libicu-dev libisl23 libitm1 libjpeg-dev 391s libjpeg-turbo8-dev libjpeg8-dev liblapack-dev liblzma-dev libmpc3 391s libncurses-dev libpcre2-16-0 libpcre2-32-0 libpcre2-dev libpcre2-posix3 391s libpkgconf3 libpng-dev libreadline-dev libstdc++-14-dev libtirpc-dev 391s libubsan1 pkg-r-autopkgtest pkgconf pkgconf-bin r-base-dev zlib1g-dev 391s 0 upgraded, 51 newly installed, 0 to remove and 0 not upgraded. 391s Need to get 82.3 MB of archives. 391s After this operation, 279 MB of additional disk space will be used. 391s Get:1 http://ftpmaster.internal/ubuntu plucky/main s390x libisl23 s390x 0.27-1 [704 kB] 391s Get:2 http://ftpmaster.internal/ubuntu plucky/main s390x libmpc3 s390x 1.3.1-1build2 [57.8 kB] 391s Get:3 http://ftpmaster.internal/ubuntu plucky/main s390x cpp-14-s390x-linux-gnu s390x 14.2.0-17ubuntu3 [9572 kB] 392s Get:4 http://ftpmaster.internal/ubuntu plucky/main s390x cpp-14 s390x 14.2.0-17ubuntu3 [1028 B] 392s Get:5 http://ftpmaster.internal/ubuntu plucky/main s390x cpp-s390x-linux-gnu s390x 4:14.2.0-1ubuntu1 [5556 B] 392s Get:6 http://ftpmaster.internal/ubuntu plucky/main s390x cpp s390x 4:14.2.0-1ubuntu1 [22.4 kB] 392s Get:7 http://ftpmaster.internal/ubuntu plucky/main s390x libcc1-0 s390x 15-20250222-0ubuntu1 [49.2 kB] 392s Get:8 http://ftpmaster.internal/ubuntu plucky/main s390x libitm1 s390x 15-20250222-0ubuntu1 [31.2 kB] 392s Get:9 http://ftpmaster.internal/ubuntu plucky/main s390x libasan8 s390x 15-20250222-0ubuntu1 [2970 kB] 393s Get:10 http://ftpmaster.internal/ubuntu plucky/main s390x libubsan1 s390x 15-20250222-0ubuntu1 [1212 kB] 393s Get:11 http://ftpmaster.internal/ubuntu plucky/main s390x libgcc-14-dev s390x 14.2.0-17ubuntu3 [1037 kB] 393s Get:12 http://ftpmaster.internal/ubuntu plucky/main s390x gcc-14-s390x-linux-gnu s390x 14.2.0-17ubuntu3 [18.7 MB] 394s Get:13 http://ftpmaster.internal/ubuntu plucky/main s390x gcc-14 s390x 14.2.0-17ubuntu3 [526 kB] 394s Get:14 http://ftpmaster.internal/ubuntu plucky/main s390x gcc-s390x-linux-gnu s390x 4:14.2.0-1ubuntu1 [1204 B] 394s Get:15 http://ftpmaster.internal/ubuntu plucky/main s390x gcc s390x 4:14.2.0-1ubuntu1 [5004 B] 394s Get:16 http://ftpmaster.internal/ubuntu plucky/main s390x libstdc++-14-dev s390x 14.2.0-17ubuntu3 [2611 kB] 394s Get:17 http://ftpmaster.internal/ubuntu plucky/main s390x g++-14-s390x-linux-gnu s390x 14.2.0-17ubuntu3 [11.0 MB] 394s Get:18 http://ftpmaster.internal/ubuntu plucky/main s390x g++-14 s390x 14.2.0-17ubuntu3 [21.8 kB] 394s Get:19 http://ftpmaster.internal/ubuntu plucky/main s390x g++-s390x-linux-gnu s390x 4:14.2.0-1ubuntu1 [956 B] 394s Get:20 http://ftpmaster.internal/ubuntu plucky/main s390x g++ s390x 4:14.2.0-1ubuntu1 [1080 B] 394s Get:21 http://ftpmaster.internal/ubuntu plucky/main s390x build-essential s390x 12.10ubuntu1 [4930 B] 394s Get:22 http://ftpmaster.internal/ubuntu plucky/main s390x dctrl-tools s390x 2.24-3build3 [106 kB] 394s Get:23 http://ftpmaster.internal/ubuntu plucky/main s390x libgfortran-14-dev s390x 14.2.0-17ubuntu3 [654 kB] 394s Get:24 http://ftpmaster.internal/ubuntu plucky/main s390x gfortran-14-s390x-linux-gnu s390x 14.2.0-17ubuntu3 [10.3 MB] 395s Get:25 http://ftpmaster.internal/ubuntu plucky/main s390x gfortran-14 s390x 14.2.0-17ubuntu3 [13.6 kB] 395s Get:26 http://ftpmaster.internal/ubuntu plucky/main s390x gfortran-s390x-linux-gnu s390x 4:14.2.0-1ubuntu1 [1012 B] 395s Get:27 http://ftpmaster.internal/ubuntu plucky/main s390x gfortran s390x 4:14.2.0-1ubuntu1 [1160 B] 395s Get:28 http://ftpmaster.internal/ubuntu plucky/main s390x icu-devtools s390x 76.1-1ubuntu2 [225 kB] 395s Get:29 http://ftpmaster.internal/ubuntu plucky/main s390x libblas-dev s390x 3.12.1-2 [254 kB] 395s Get:30 http://ftpmaster.internal/ubuntu plucky/main s390x libbz2-dev s390x 1.0.8-6 [39.1 kB] 395s Get:31 http://ftpmaster.internal/ubuntu plucky/main s390x libdeflate-dev s390x 1.23-1 [52.2 kB] 395s Get:32 http://ftpmaster.internal/ubuntu plucky/main s390x libicu-dev s390x 76.1-1ubuntu2 [12.2 MB] 395s Get:33 http://ftpmaster.internal/ubuntu plucky/main s390x libjpeg-turbo8-dev s390x 2.1.5-3ubuntu2 [281 kB] 395s Get:34 http://ftpmaster.internal/ubuntu plucky/main s390x libjpeg8-dev s390x 8c-2ubuntu11 [1484 B] 395s Get:35 http://ftpmaster.internal/ubuntu plucky/main s390x libjpeg-dev s390x 8c-2ubuntu11 [1484 B] 395s Get:36 http://ftpmaster.internal/ubuntu plucky/main s390x liblapack-dev s390x 3.12.1-2 [5967 kB] 395s Get:37 http://ftpmaster.internal/ubuntu plucky/main s390x libncurses-dev s390x 6.5+20250216-2 [407 kB] 395s Get:38 http://ftpmaster.internal/ubuntu plucky/main s390x libpcre2-16-0 s390x 10.45-1 [259 kB] 395s Get:39 http://ftpmaster.internal/ubuntu plucky/main s390x libpcre2-32-0 s390x 10.45-1 [245 kB] 395s Get:40 http://ftpmaster.internal/ubuntu plucky/main s390x libpcre2-posix3 s390x 10.45-1 [7080 B] 395s Get:41 http://ftpmaster.internal/ubuntu plucky/main s390x libpcre2-dev s390x 10.45-1 [899 kB] 395s Get:42 http://ftpmaster.internal/ubuntu plucky/main s390x libpkgconf3 s390x 1.8.1-4 [31.2 kB] 395s Get:43 http://ftpmaster.internal/ubuntu plucky/main s390x zlib1g-dev s390x 1:1.3.dfsg+really1.3.1-1ubuntu1 [898 kB] 395s Get:44 http://ftpmaster.internal/ubuntu plucky/main s390x libpng-dev s390x 1.6.47-1 [278 kB] 395s Get:45 http://ftpmaster.internal/ubuntu plucky/main s390x libreadline-dev s390x 8.2-6 [187 kB] 395s Get:46 http://ftpmaster.internal/ubuntu plucky/main s390x liblzma-dev s390x 5.6.4-1 [183 kB] 395s Get:47 http://ftpmaster.internal/ubuntu plucky/main s390x pkgconf-bin s390x 1.8.1-4 [21.5 kB] 395s Get:48 http://ftpmaster.internal/ubuntu plucky/main s390x pkgconf s390x 1.8.1-4 [16.7 kB] 395s Get:49 http://ftpmaster.internal/ubuntu plucky/main s390x libtirpc-dev s390x 1.3.4+ds-1.3 [196 kB] 395s Get:50 http://ftpmaster.internal/ubuntu plucky/universe s390x r-base-dev all 4.4.3-1 [4176 B] 395s Get:51 http://ftpmaster.internal/ubuntu plucky/universe s390x pkg-r-autopkgtest all 20231212ubuntu1 [6448 B] 396s Fetched 82.3 MB in 5s (17.4 MB/s) 396s Selecting previously unselected package libisl23:s390x. 396s (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 ... 70214 files and directories currently installed.) 396s Preparing to unpack .../00-libisl23_0.27-1_s390x.deb ... 396s Unpacking libisl23:s390x (0.27-1) ... 396s Selecting previously unselected package libmpc3:s390x. 396s Preparing to unpack .../01-libmpc3_1.3.1-1build2_s390x.deb ... 396s Unpacking libmpc3:s390x (1.3.1-1build2) ... 396s Selecting previously unselected package cpp-14-s390x-linux-gnu. 396s Preparing to unpack .../02-cpp-14-s390x-linux-gnu_14.2.0-17ubuntu3_s390x.deb ... 396s Unpacking cpp-14-s390x-linux-gnu (14.2.0-17ubuntu3) ... 396s Selecting previously unselected package cpp-14. 396s Preparing to unpack .../03-cpp-14_14.2.0-17ubuntu3_s390x.deb ... 396s Unpacking cpp-14 (14.2.0-17ubuntu3) ... 396s Selecting previously unselected package cpp-s390x-linux-gnu. 396s Preparing to unpack .../04-cpp-s390x-linux-gnu_4%3a14.2.0-1ubuntu1_s390x.deb ... 396s Unpacking cpp-s390x-linux-gnu (4:14.2.0-1ubuntu1) ... 396s Selecting previously unselected package cpp. 396s Preparing to unpack .../05-cpp_4%3a14.2.0-1ubuntu1_s390x.deb ... 396s Unpacking cpp (4:14.2.0-1ubuntu1) ... 396s Selecting previously unselected package libcc1-0:s390x. 396s Preparing to unpack .../06-libcc1-0_15-20250222-0ubuntu1_s390x.deb ... 396s Unpacking libcc1-0:s390x (15-20250222-0ubuntu1) ... 396s Selecting previously unselected package libitm1:s390x. 396s Preparing to unpack .../07-libitm1_15-20250222-0ubuntu1_s390x.deb ... 396s Unpacking libitm1:s390x (15-20250222-0ubuntu1) ... 396s Selecting previously unselected package libasan8:s390x. 396s Preparing to unpack .../08-libasan8_15-20250222-0ubuntu1_s390x.deb ... 396s Unpacking libasan8:s390x (15-20250222-0ubuntu1) ... 396s Selecting previously unselected package libubsan1:s390x. 396s Preparing to unpack .../09-libubsan1_15-20250222-0ubuntu1_s390x.deb ... 396s Unpacking libubsan1:s390x (15-20250222-0ubuntu1) ... 396s Selecting previously unselected package libgcc-14-dev:s390x. 396s Preparing to unpack .../10-libgcc-14-dev_14.2.0-17ubuntu3_s390x.deb ... 396s Unpacking libgcc-14-dev:s390x (14.2.0-17ubuntu3) ... 396s Selecting previously unselected package gcc-14-s390x-linux-gnu. 396s Preparing to unpack .../11-gcc-14-s390x-linux-gnu_14.2.0-17ubuntu3_s390x.deb ... 396s Unpacking gcc-14-s390x-linux-gnu (14.2.0-17ubuntu3) ... 396s Selecting previously unselected package gcc-14. 396s Preparing to unpack .../12-gcc-14_14.2.0-17ubuntu3_s390x.deb ... 396s Unpacking gcc-14 (14.2.0-17ubuntu3) ... 396s Selecting previously unselected package gcc-s390x-linux-gnu. 396s Preparing to unpack .../13-gcc-s390x-linux-gnu_4%3a14.2.0-1ubuntu1_s390x.deb ... 396s Unpacking gcc-s390x-linux-gnu (4:14.2.0-1ubuntu1) ... 396s Selecting previously unselected package gcc. 396s Preparing to unpack .../14-gcc_4%3a14.2.0-1ubuntu1_s390x.deb ... 396s Unpacking gcc (4:14.2.0-1ubuntu1) ... 396s Selecting previously unselected package libstdc++-14-dev:s390x. 396s Preparing to unpack .../15-libstdc++-14-dev_14.2.0-17ubuntu3_s390x.deb ... 396s Unpacking libstdc++-14-dev:s390x (14.2.0-17ubuntu3) ... 396s Selecting previously unselected package g++-14-s390x-linux-gnu. 396s Preparing to unpack .../16-g++-14-s390x-linux-gnu_14.2.0-17ubuntu3_s390x.deb ... 396s Unpacking g++-14-s390x-linux-gnu (14.2.0-17ubuntu3) ... 397s Selecting previously unselected package g++-14. 397s Preparing to unpack .../17-g++-14_14.2.0-17ubuntu3_s390x.deb ... 397s Unpacking g++-14 (14.2.0-17ubuntu3) ... 397s Selecting previously unselected package g++-s390x-linux-gnu. 397s Preparing to unpack .../18-g++-s390x-linux-gnu_4%3a14.2.0-1ubuntu1_s390x.deb ... 397s Unpacking g++-s390x-linux-gnu (4:14.2.0-1ubuntu1) ... 397s Selecting previously unselected package g++. 397s Preparing to unpack .../19-g++_4%3a14.2.0-1ubuntu1_s390x.deb ... 397s Unpacking g++ (4:14.2.0-1ubuntu1) ... 397s Selecting previously unselected package build-essential. 397s Preparing to unpack .../20-build-essential_12.10ubuntu1_s390x.deb ... 397s Unpacking build-essential (12.10ubuntu1) ... 397s Selecting previously unselected package dctrl-tools. 397s Preparing to unpack .../21-dctrl-tools_2.24-3build3_s390x.deb ... 397s Unpacking dctrl-tools (2.24-3build3) ... 397s Selecting previously unselected package libgfortran-14-dev:s390x. 397s Preparing to unpack .../22-libgfortran-14-dev_14.2.0-17ubuntu3_s390x.deb ... 397s Unpacking libgfortran-14-dev:s390x (14.2.0-17ubuntu3) ... 397s Selecting previously unselected package gfortran-14-s390x-linux-gnu. 397s Preparing to unpack .../23-gfortran-14-s390x-linux-gnu_14.2.0-17ubuntu3_s390x.deb ... 397s Unpacking gfortran-14-s390x-linux-gnu (14.2.0-17ubuntu3) ... 397s Selecting previously unselected package gfortran-14. 397s Preparing to unpack .../24-gfortran-14_14.2.0-17ubuntu3_s390x.deb ... 397s Unpacking gfortran-14 (14.2.0-17ubuntu3) ... 397s Selecting previously unselected package gfortran-s390x-linux-gnu. 397s Preparing to unpack .../25-gfortran-s390x-linux-gnu_4%3a14.2.0-1ubuntu1_s390x.deb ... 397s Unpacking gfortran-s390x-linux-gnu (4:14.2.0-1ubuntu1) ... 397s Selecting previously unselected package gfortran. 397s Preparing to unpack .../26-gfortran_4%3a14.2.0-1ubuntu1_s390x.deb ... 397s Unpacking gfortran (4:14.2.0-1ubuntu1) ... 397s Selecting previously unselected package icu-devtools. 397s Preparing to unpack .../27-icu-devtools_76.1-1ubuntu2_s390x.deb ... 397s Unpacking icu-devtools (76.1-1ubuntu2) ... 397s Selecting previously unselected package libblas-dev:s390x. 397s Preparing to unpack .../28-libblas-dev_3.12.1-2_s390x.deb ... 397s Unpacking libblas-dev:s390x (3.12.1-2) ... 397s Selecting previously unselected package libbz2-dev:s390x. 397s Preparing to unpack .../29-libbz2-dev_1.0.8-6_s390x.deb ... 397s Unpacking libbz2-dev:s390x (1.0.8-6) ... 397s Selecting previously unselected package libdeflate-dev:s390x. 397s Preparing to unpack .../30-libdeflate-dev_1.23-1_s390x.deb ... 397s Unpacking libdeflate-dev:s390x (1.23-1) ... 397s Selecting previously unselected package libicu-dev:s390x. 397s Preparing to unpack .../31-libicu-dev_76.1-1ubuntu2_s390x.deb ... 397s Unpacking libicu-dev:s390x (76.1-1ubuntu2) ... 397s Selecting previously unselected package libjpeg-turbo8-dev:s390x. 397s Preparing to unpack .../32-libjpeg-turbo8-dev_2.1.5-3ubuntu2_s390x.deb ... 397s Unpacking libjpeg-turbo8-dev:s390x (2.1.5-3ubuntu2) ... 397s Selecting previously unselected package libjpeg8-dev:s390x. 397s Preparing to unpack .../33-libjpeg8-dev_8c-2ubuntu11_s390x.deb ... 397s Unpacking libjpeg8-dev:s390x (8c-2ubuntu11) ... 397s Selecting previously unselected package libjpeg-dev:s390x. 397s Preparing to unpack .../34-libjpeg-dev_8c-2ubuntu11_s390x.deb ... 397s Unpacking libjpeg-dev:s390x (8c-2ubuntu11) ... 397s Selecting previously unselected package liblapack-dev:s390x. 397s Preparing to unpack .../35-liblapack-dev_3.12.1-2_s390x.deb ... 397s Unpacking liblapack-dev:s390x (3.12.1-2) ... 397s Selecting previously unselected package libncurses-dev:s390x. 397s Preparing to unpack .../36-libncurses-dev_6.5+20250216-2_s390x.deb ... 397s Unpacking libncurses-dev:s390x (6.5+20250216-2) ... 397s Selecting previously unselected package libpcre2-16-0:s390x. 397s Preparing to unpack .../37-libpcre2-16-0_10.45-1_s390x.deb ... 397s Unpacking libpcre2-16-0:s390x (10.45-1) ... 397s Selecting previously unselected package libpcre2-32-0:s390x. 397s Preparing to unpack .../38-libpcre2-32-0_10.45-1_s390x.deb ... 397s Unpacking libpcre2-32-0:s390x (10.45-1) ... 397s Selecting previously unselected package libpcre2-posix3:s390x. 397s Preparing to unpack .../39-libpcre2-posix3_10.45-1_s390x.deb ... 397s Unpacking libpcre2-posix3:s390x (10.45-1) ... 397s Selecting previously unselected package libpcre2-dev:s390x. 397s Preparing to unpack .../40-libpcre2-dev_10.45-1_s390x.deb ... 397s Unpacking libpcre2-dev:s390x (10.45-1) ... 397s Selecting previously unselected package libpkgconf3:s390x. 397s Preparing to unpack .../41-libpkgconf3_1.8.1-4_s390x.deb ... 397s Unpacking libpkgconf3:s390x (1.8.1-4) ... 397s Selecting previously unselected package zlib1g-dev:s390x. 397s Preparing to unpack .../42-zlib1g-dev_1%3a1.3.dfsg+really1.3.1-1ubuntu1_s390x.deb ... 397s Unpacking zlib1g-dev:s390x (1:1.3.dfsg+really1.3.1-1ubuntu1) ... 397s Selecting previously unselected package libpng-dev:s390x. 397s Preparing to unpack .../43-libpng-dev_1.6.47-1_s390x.deb ... 397s Unpacking libpng-dev:s390x (1.6.47-1) ... 397s Selecting previously unselected package libreadline-dev:s390x. 397s Preparing to unpack .../44-libreadline-dev_8.2-6_s390x.deb ... 397s Unpacking libreadline-dev:s390x (8.2-6) ... 397s Selecting previously unselected package liblzma-dev:s390x. 397s Preparing to unpack .../45-liblzma-dev_5.6.4-1_s390x.deb ... 397s Unpacking liblzma-dev:s390x (5.6.4-1) ... 397s Selecting previously unselected package pkgconf-bin. 397s Preparing to unpack .../46-pkgconf-bin_1.8.1-4_s390x.deb ... 397s Unpacking pkgconf-bin (1.8.1-4) ... 397s Selecting previously unselected package pkgconf:s390x. 397s Preparing to unpack .../47-pkgconf_1.8.1-4_s390x.deb ... 397s Unpacking pkgconf:s390x (1.8.1-4) ... 397s Selecting previously unselected package libtirpc-dev:s390x. 397s Preparing to unpack .../48-libtirpc-dev_1.3.4+ds-1.3_s390x.deb ... 397s Unpacking libtirpc-dev:s390x (1.3.4+ds-1.3) ... 397s Selecting previously unselected package r-base-dev. 397s Preparing to unpack .../49-r-base-dev_4.4.3-1_all.deb ... 397s Unpacking r-base-dev (4.4.3-1) ... 397s Selecting previously unselected package pkg-r-autopkgtest. 397s Preparing to unpack .../50-pkg-r-autopkgtest_20231212ubuntu1_all.deb ... 397s Unpacking pkg-r-autopkgtest (20231212ubuntu1) ... 397s Setting up libjpeg-turbo8-dev:s390x (2.1.5-3ubuntu2) ... 397s Setting up libncurses-dev:s390x (6.5+20250216-2) ... 397s Setting up libreadline-dev:s390x (8.2-6) ... 397s Setting up libpcre2-16-0:s390x (10.45-1) ... 397s Setting up libpcre2-32-0:s390x (10.45-1) ... 397s Setting up libtirpc-dev:s390x (1.3.4+ds-1.3) ... 397s Setting up libpkgconf3:s390x (1.8.1-4) ... 397s Setting up libmpc3:s390x (1.3.1-1build2) ... 397s Setting up icu-devtools (76.1-1ubuntu2) ... 397s Setting up pkgconf-bin (1.8.1-4) ... 397s Setting up liblzma-dev:s390x (5.6.4-1) ... 397s Setting up libubsan1:s390x (15-20250222-0ubuntu1) ... 397s Setting up zlib1g-dev:s390x (1:1.3.dfsg+really1.3.1-1ubuntu1) ... 397s Setting up libpcre2-posix3:s390x (10.45-1) ... 397s Setting up libasan8:s390x (15-20250222-0ubuntu1) ... 397s Setting up libjpeg8-dev:s390x (8c-2ubuntu11) ... 397s Setting up libisl23:s390x (0.27-1) ... 397s Setting up libdeflate-dev:s390x (1.23-1) ... 397s Setting up libicu-dev:s390x (76.1-1ubuntu2) ... 397s Setting up libcc1-0:s390x (15-20250222-0ubuntu1) ... 397s Setting up libblas-dev:s390x (3.12.1-2) ... 397s update-alternatives: using /usr/lib/s390x-linux-gnu/blas/libblas.so to provide /usr/lib/s390x-linux-gnu/libblas.so (libblas.so-s390x-linux-gnu) in auto mode 397s Setting up dctrl-tools (2.24-3build3) ... 397s Setting up libitm1:s390x (15-20250222-0ubuntu1) ... 397s Setting up libbz2-dev:s390x (1.0.8-6) ... 397s Setting up libpcre2-dev:s390x (10.45-1) ... 397s Setting up libpng-dev:s390x (1.6.47-1) ... 397s Setting up libjpeg-dev:s390x (8c-2ubuntu11) ... 397s Setting up pkgconf:s390x (1.8.1-4) ... 397s Setting up liblapack-dev:s390x (3.12.1-2) ... 397s update-alternatives: using /usr/lib/s390x-linux-gnu/lapack/liblapack.so to provide /usr/lib/s390x-linux-gnu/liblapack.so (liblapack.so-s390x-linux-gnu) in auto mode 397s Setting up cpp-14-s390x-linux-gnu (14.2.0-17ubuntu3) ... 397s Setting up cpp-14 (14.2.0-17ubuntu3) ... 397s Setting up libgcc-14-dev:s390x (14.2.0-17ubuntu3) ... 397s Setting up libstdc++-14-dev:s390x (14.2.0-17ubuntu3) ... 397s Setting up libgfortran-14-dev:s390x (14.2.0-17ubuntu3) ... 397s Setting up cpp-s390x-linux-gnu (4:14.2.0-1ubuntu1) ... 397s Setting up gcc-14-s390x-linux-gnu (14.2.0-17ubuntu3) ... 397s Setting up gcc-s390x-linux-gnu (4:14.2.0-1ubuntu1) ... 397s Setting up g++-14-s390x-linux-gnu (14.2.0-17ubuntu3) ... 397s Setting up cpp (4:14.2.0-1ubuntu1) ... 397s Setting up gfortran-14-s390x-linux-gnu (14.2.0-17ubuntu3) ... 397s Setting up g++-s390x-linux-gnu (4:14.2.0-1ubuntu1) ... 397s Setting up gcc-14 (14.2.0-17ubuntu3) ... 397s Setting up g++-14 (14.2.0-17ubuntu3) ... 397s Setting up gfortran-14 (14.2.0-17ubuntu3) ... 397s Setting up gfortran-s390x-linux-gnu (4:14.2.0-1ubuntu1) ... 397s Setting up gcc (4:14.2.0-1ubuntu1) ... 397s Setting up g++ (4:14.2.0-1ubuntu1) ... 397s update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode 397s Setting up build-essential (12.10ubuntu1) ... 397s Setting up gfortran (4:14.2.0-1ubuntu1) ... 397s update-alternatives: using /usr/bin/gfortran to provide /usr/bin/f95 (f95) in auto mode 397s 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 397s update-alternatives: using /usr/bin/gfortran to provide /usr/bin/f77 (f77) in auto mode 397s 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 397s Setting up r-base-dev (4.4.3-1) ... 397s Setting up pkg-r-autopkgtest (20231212ubuntu1) ... 397s Processing triggers for libc-bin (2.41-1ubuntu1) ... 397s Processing triggers for man-db (2.13.0-1) ... 398s Processing triggers for install-info (7.1.1-1) ... 399s autopkgtest [10:49:34]: test pkg-r-autopkgtest: /usr/share/dh-r/pkg-r-autopkgtest 399s autopkgtest [10:49:34]: test pkg-r-autopkgtest: [----------------------- 399s Test: Try to load the R library fansi 399s 399s R version 4.4.3 (2025-02-28) -- "Trophy Case" 399s Copyright (C) 2025 The R Foundation for Statistical Computing 399s Platform: s390x-ibm-linux-gnu 399s 399s R is free software and comes with ABSOLUTELY NO WARRANTY. 399s You are welcome to redistribute it under certain conditions. 399s Type 'license()' or 'licence()' for distribution details. 399s 399s R is a collaborative project with many contributors. 399s Type 'contributors()' for more information and 399s 'citation()' on how to cite R or R packages in publications. 399s 399s Type 'demo()' for some demos, 'help()' for on-line help, or 399s 'help.start()' for an HTML browser interface to help. 399s Type 'q()' to quit R. 399s 399s > library('fansi') 399s > 399s > 399s Other tests are currently unsupported! 399s They will be progressively added. 400s autopkgtest [10:49:35]: test pkg-r-autopkgtest: -----------------------] 400s autopkgtest [10:49:35]: test pkg-r-autopkgtest: - - - - - - - - - - results - - - - - - - - - - 400s pkg-r-autopkgtest PASS 401s autopkgtest [10:49:36]: @@@@@@@@@@@@@@@@@@@@ summary 401s run-unit-test FAIL non-zero exit status 1 401s pkg-r-autopkgtest PASS 418s nova [W] Using flock in prodstack6-s390x 418s flock: timeout while waiting to get lock 418s Creating nova instance adt-plucky-s390x-r-cran-fansi-20250313-104255-juju-7f2275-prod-proposed-migration-environment-20-31b32d2a-9b52-4f16-b79e-3232c6ef060b from image adt/ubuntu-plucky-s390x-server-20250313.img (UUID 54e7e81b-c545-49a7-82a9-0db67474751a)... 418s nova [W] Timed out waiting for bc1a7c87-8b57-44e7-ae5a-5d7981827ba8 to get deleted.