0s autopkgtest [10:45:40]: starting date and time: 2025-03-13 10:45:40+0000 0s autopkgtest [10:45:40]: git checkout: 325255d2 Merge branch 'pin-any-arch' into 'ubuntu/production' 0s autopkgtest [10:45:40]: host juju-7f2275-prod-proposed-migration-environment-2; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.qtfdrr60/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 --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-2@bos03-arm64-22.secgroup --name adt-plucky-arm64-r-cran-fansi-20250313-104540-juju-7f2275-prod-proposed-migration-environment-2-6f58a13c-40ca-4e0e-82f5-567ff5069195 --image adt/ubuntu-plucky-arm64-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-2 --net-id=net_prod-proposed-migration -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/ 88s autopkgtest [10:47:08]: testbed dpkg architecture: arm64 88s autopkgtest [10:47:08]: testbed apt version: 2.9.32ubuntu1 89s autopkgtest [10:47:09]: @@@@@@@@@@@@@@@@@@@@ test bed setup 89s autopkgtest [10:47:09]: testbed release detected to be: None 90s autopkgtest [10:47:10]: updating testbed package index (apt update) 90s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [110 kB] 91s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 91s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 91s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 91s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [11.5 kB] 91s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [43.9 kB] 91s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [396 kB] 91s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 Packages [54.8 kB] 91s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 Packages [340 kB] 91s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse arm64 Packages [3244 B] 91s Fetched 960 kB in 1s (1156 kB/s) 92s Reading package lists... 93s Reading package lists... 93s Building dependency tree... 93s Reading state information... 93s Calculating upgrade... 94s Calculating upgrade... 94s The following packages will be upgraded: 94s gir1.2-glib-2.0 htop libglib2.0-0t64 libglib2.0-data 94s 4 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 94s Need to get 1982 kB of archives. 94s After this operation, 0 B of additional disk space will be used. 94s Get:1 http://ftpmaster.internal/ubuntu plucky/main arm64 gir1.2-glib-2.0 arm64 2.84.0-1 [185 kB] 94s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 libglib2.0-0t64 arm64 2.84.0-1 [1571 kB] 95s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 libglib2.0-data all 2.84.0-1 [53.0 kB] 95s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 htop arm64 3.4.0-2 [173 kB] 95s Fetched 1982 kB in 1s (3032 kB/s) 95s (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 ... 117763 files and directories currently installed.) 95s Preparing to unpack .../gir1.2-glib-2.0_2.84.0-1_arm64.deb ... 95s Unpacking gir1.2-glib-2.0:arm64 (2.84.0-1) over (2.83.5-1) ... 95s Preparing to unpack .../libglib2.0-0t64_2.84.0-1_arm64.deb ... 95s Unpacking libglib2.0-0t64:arm64 (2.84.0-1) over (2.83.5-1) ... 96s Preparing to unpack .../libglib2.0-data_2.84.0-1_all.deb ... 96s Unpacking libglib2.0-data (2.84.0-1) over (2.83.5-1) ... 96s Preparing to unpack .../htop_3.4.0-2_arm64.deb ... 96s Unpacking htop (3.4.0-2) over (3.4.0-1) ... 96s Setting up htop (3.4.0-2) ... 96s Setting up libglib2.0-0t64:arm64 (2.84.0-1) ... 96s No schema files found: doing nothing. 96s Setting up libglib2.0-data (2.84.0-1) ... 96s Setting up gir1.2-glib-2.0:arm64 (2.84.0-1) ... 96s Processing triggers for man-db (2.13.0-1) ... 96s Processing triggers for libc-bin (2.41-1ubuntu1) ... 97s Reading package lists... 97s Building dependency tree... 97s Reading state information... 97s Solving dependencies... 97s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 98s autopkgtest [10:47:18]: upgrading testbed (apt dist-upgrade and autopurge) 98s Reading package lists... 98s Building dependency tree... 98s Reading state information... 99s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 99s Starting 2 pkgProblemResolver with broken count: 0 99s Done 99s Entering ResolveByKeep 100s 100s Calculating upgrade... 100s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 100s Reading package lists... 101s Building dependency tree... 101s Reading state information... 101s Starting pkgProblemResolver with broken count: 0 101s Starting 2 pkgProblemResolver with broken count: 0 101s Done 102s Solving dependencies... 102s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 105s autopkgtest [10:47:25]: testbed running kernel: Linux 6.14.0-7-generic #7-Ubuntu SMP PREEMPT_DYNAMIC Fri Feb 28 11:47:29 UTC 2025 105s autopkgtest [10:47:25]: @@@@@@@@@@@@@@@@@@@@ apt-source r-cran-fansi 107s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed/universe r-cran-fansi 1.0.6-1 (dsc) [2110 B] 107s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/universe r-cran-fansi 1.0.6-1 (tar) [482 kB] 107s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/universe r-cran-fansi 1.0.6-1 (diff) [3156 B] 107s gpgv: Signature made Mon Mar 10 04:57:09 2025 UTC 107s gpgv: using RSA key 73471499CC60ED9EEE805946C5BD6C8F2295D502 107s gpgv: issuer "plessy@debian.org" 107s gpgv: Can't check signature: No public key 107s dpkg-source: warning: cannot verify inline signature for ./r-cran-fansi_1.0.6-1.dsc: no acceptable signature found 107s autopkgtest [10:47:27]: testing package r-cran-fansi version 1.0.6-1 108s autopkgtest [10:47:28]: build not needed 115s autopkgtest [10:47:35]: test run-unit-test: preparing testbed 115s Reading package lists... 116s Building dependency tree... 116s Reading state information... 116s Starting pkgProblemResolver with broken count: 0 116s Starting 2 pkgProblemResolver with broken count: 0 116s Done 117s The following NEW packages will be installed: 117s fontconfig fontconfig-config fonts-dejavu-core fonts-dejavu-mono 117s fonts-font-awesome fonts-glyphicons-halflings fonts-mathjax 117s javascript-common libblas3 libcairo2 libdatrie1 libdeflate0 libfontconfig1 117s libgfortran5 libgomp1 libgraphite2-3 libharfbuzz0b libice6 libjbig0 117s libjpeg-turbo8 libjpeg8 libjs-bootstrap libjs-bootstrap4 libjs-d3 117s libjs-es5-shim libjs-highlight.js libjs-jquery libjs-jquery-datatables 117s libjs-jquery-selectize.js libjs-jquery-ui libjs-json libjs-mathjax 117s libjs-microplugin.js libjs-modernizr libjs-popper.js libjs-prettify 117s libjs-sifter.js libjs-twitter-bootstrap-datepicker liblapack3 liblerc4 117s liblua5.4-0 libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 117s libpaper-utils libpaper2 libpixman-1-0 libsharpyuv0 libsm6 libtcl8.6 117s libthai-data libthai0 libtiff6 libtk8.6 libwebp7 libxcb-render0 libxcb-shm0 117s libxft2 libxrender1 libxss1 libxt6t64 littler node-bootstrap-sass 117s node-html5shiv node-normalize.css pandoc pandoc-data r-base-core 117s r-cran-base64enc r-cran-bslib r-cran-cachem r-cran-cli r-cran-commonmark 117s r-cran-crayon r-cran-diffobj r-cran-digest r-cran-evaluate r-cran-fansi 117s r-cran-fastmap r-cran-fontawesome r-cran-fs r-cran-glue r-cran-highr 117s r-cran-htmltools r-cran-httpuv r-cran-jquerylib r-cran-jsonlite r-cran-knitr 117s r-cran-later r-cran-lifecycle r-cran-littler r-cran-magrittr r-cran-memoise 117s r-cran-mime r-cran-pkgkitten r-cran-promises r-cran-r6 r-cran-rappdirs 117s r-cran-rcpp r-cran-rlang r-cran-rmarkdown r-cran-sass r-cran-shiny 117s r-cran-sourcetools r-cran-tinytex r-cran-unitizer r-cran-withr r-cran-xfun 117s r-cran-xtable r-cran-yaml unzip x11-common xdg-utils zip 117s 0 upgraded, 114 newly installed, 0 to remove and 0 not upgraded. 117s Need to get 103 MB of archives. 117s After this operation, 417 MB of additional disk space will be used. 117s Get:1 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-dejavu-mono all 2.37-8 [502 kB] 117s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-dejavu-core all 2.37-8 [835 kB] 117s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 fontconfig-config arm64 2.15.0-2ubuntu1 [37.5 kB] 117s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 libfontconfig1 arm64 2.15.0-2ubuntu1 [144 kB] 117s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 fontconfig arm64 2.15.0-2ubuntu1 [191 kB] 117s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 117s Get:7 http://ftpmaster.internal/ubuntu plucky/universe arm64 fonts-glyphicons-halflings all 1.009~3.4.1+dfsg-3 [118 kB] 117s Get:8 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-mathjax all 2.7.9+dfsg-1 [2208 kB] 117s Get:9 http://ftpmaster.internal/ubuntu plucky/main arm64 javascript-common all 12 [5216 B] 117s Get:10 http://ftpmaster.internal/ubuntu plucky/main arm64 libblas3 arm64 3.12.1-2 [161 kB] 117s Get:11 http://ftpmaster.internal/ubuntu plucky/main arm64 libpixman-1-0 arm64 0.44.0-3 [197 kB] 117s Get:12 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-render0 arm64 1.17.0-2 [16.6 kB] 117s Get:13 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-shm0 arm64 1.17.0-2 [5884 B] 117s Get:14 http://ftpmaster.internal/ubuntu plucky/main arm64 libxrender1 arm64 1:0.9.10-1.1build1 [18.8 kB] 117s Get:15 http://ftpmaster.internal/ubuntu plucky/main arm64 libcairo2 arm64 1.18.2-2 [560 kB] 117s Get:16 http://ftpmaster.internal/ubuntu plucky/main arm64 libdatrie1 arm64 0.2.13-3build1 [19.2 kB] 117s Get:17 http://ftpmaster.internal/ubuntu plucky/main arm64 libdeflate0 arm64 1.23-1 [46.2 kB] 118s Get:18 http://ftpmaster.internal/ubuntu plucky/main arm64 libgfortran5 arm64 15-20250222-0ubuntu1 [444 kB] 118s Get:19 http://ftpmaster.internal/ubuntu plucky/main arm64 libgomp1 arm64 15-20250222-0ubuntu1 [146 kB] 118s Get:20 http://ftpmaster.internal/ubuntu plucky/main arm64 libgraphite2-3 arm64 1.3.14-2ubuntu1 [70.6 kB] 118s Get:21 http://ftpmaster.internal/ubuntu plucky/main arm64 libharfbuzz0b arm64 10.2.0-1 [490 kB] 118s Get:22 http://ftpmaster.internal/ubuntu plucky/main arm64 x11-common all 1:7.7+23ubuntu3 [21.7 kB] 118s Get:23 http://ftpmaster.internal/ubuntu plucky/main arm64 libice6 arm64 2:1.1.1-1 [42.3 kB] 118s Get:24 http://ftpmaster.internal/ubuntu plucky/main arm64 libjpeg-turbo8 arm64 2.1.5-3ubuntu2 [165 kB] 118s Get:25 http://ftpmaster.internal/ubuntu plucky/main arm64 libjpeg8 arm64 8c-2ubuntu11 [2148 B] 118s Get:26 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjs-bootstrap all 3.4.1+dfsg-3 [129 kB] 118s Get:27 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjs-popper.js all 1.16.1+ds-6 [54.1 kB] 118s Get:28 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjs-bootstrap4 all 4.6.1+dfsg1-4 [537 kB] 118s Get:29 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjs-d3 all 3.5.17-4 [132 kB] 118s Get:30 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjs-es5-shim all 4.6.7-2 [39.8 kB] 118s Get:31 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjs-highlight.js all 9.18.5+dfsg1-2 [385 kB] 118s Get:32 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 118s Get:33 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjs-jquery-datatables all 1.11.5+dfsg-2 [146 kB] 118s Get:34 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjs-sifter.js all 0.6.0+dfsg-3 [12.6 kB] 118s Get:35 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjs-microplugin.js all 0.0.3+dfsg-1.1 [3712 B] 118s Get:36 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjs-jquery-selectize.js all 0.12.6+dfsg-1.1 [51.0 kB] 118s Get:37 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjs-jquery-ui all 1.13.2+dfsg-1 [252 kB] 118s Get:38 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjs-json all 0~20221030+~1.0.8-1 [20.6 kB] 118s Get:39 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjs-prettify all 2015.12.04+dfsg-1.1 [39.3 kB] 118s Get:40 http://ftpmaster.internal/ubuntu plucky/main arm64 liblapack3 arm64 3.12.1-2 [2307 kB] 118s Get:41 http://ftpmaster.internal/ubuntu plucky/main arm64 liblerc4 arm64 4.0.0+ds-5ubuntu1 [167 kB] 118s Get:42 http://ftpmaster.internal/ubuntu plucky/main arm64 liblua5.4-0 arm64 5.4.7-1 [158 kB] 118s Get:43 http://ftpmaster.internal/ubuntu plucky/main arm64 libthai-data all 0.1.29-2build1 [158 kB] 118s Get:44 http://ftpmaster.internal/ubuntu plucky/main arm64 libthai0 arm64 0.1.29-2build1 [18.2 kB] 118s Get:45 http://ftpmaster.internal/ubuntu plucky/main arm64 libpango-1.0-0 arm64 1.56.1-1 [238 kB] 118s Get:46 http://ftpmaster.internal/ubuntu plucky/main arm64 libpangoft2-1.0-0 arm64 1.56.1-1 [49.6 kB] 118s Get:47 http://ftpmaster.internal/ubuntu plucky/main arm64 libpangocairo-1.0-0 arm64 1.56.1-1 [27.6 kB] 118s Get:48 http://ftpmaster.internal/ubuntu plucky/main arm64 libpaper2 arm64 2.2.5-0.3 [17.3 kB] 118s Get:49 http://ftpmaster.internal/ubuntu plucky/main arm64 libpaper-utils arm64 2.2.5-0.3 [15.4 kB] 118s Get:50 http://ftpmaster.internal/ubuntu plucky/main arm64 libsharpyuv0 arm64 1.5.0-0.1 [16.9 kB] 118s Get:51 http://ftpmaster.internal/ubuntu plucky/main arm64 libsm6 arm64 2:1.2.4-1 [16.4 kB] 118s Get:52 http://ftpmaster.internal/ubuntu plucky/main arm64 libtcl8.6 arm64 8.6.16+dfsg-1 [987 kB] 118s Get:53 http://ftpmaster.internal/ubuntu plucky/main arm64 libjbig0 arm64 2.1-6.1ubuntu2 [29.3 kB] 118s Get:54 http://ftpmaster.internal/ubuntu plucky/main arm64 libwebp7 arm64 1.5.0-0.1 [194 kB] 118s Get:55 http://ftpmaster.internal/ubuntu plucky/main arm64 libtiff6 arm64 4.5.1+git230720-4ubuntu4 [193 kB] 118s Get:56 http://ftpmaster.internal/ubuntu plucky/main arm64 libxft2 arm64 2.3.6-1build1 [44.1 kB] 118s Get:57 http://ftpmaster.internal/ubuntu plucky/main arm64 libxss1 arm64 1:1.2.3-1build3 [7244 B] 118s Get:58 http://ftpmaster.internal/ubuntu plucky/main arm64 libtk8.6 arm64 8.6.16-1 [776 kB] 118s Get:59 http://ftpmaster.internal/ubuntu plucky/main arm64 libxt6t64 arm64 1:1.2.1-1.2build1 [168 kB] 118s Get:60 http://ftpmaster.internal/ubuntu plucky/main arm64 zip arm64 3.0-14ubuntu2 [173 kB] 118s Get:61 http://ftpmaster.internal/ubuntu plucky/main arm64 unzip arm64 6.0-28ubuntu6 [178 kB] 118s Get:62 http://ftpmaster.internal/ubuntu plucky/main arm64 xdg-utils all 1.2.1-2ubuntu1 [66.0 kB] 118s Get:63 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-base-core arm64 4.4.3-1 [28.4 MB] 119s Get:64 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-littler arm64 0.3.20-2 [96.1 kB] 119s Get:65 http://ftpmaster.internal/ubuntu plucky/universe arm64 littler all 0.3.20-2 [2554 B] 119s Get:66 http://ftpmaster.internal/ubuntu plucky/universe arm64 node-bootstrap-sass all 3.4.3-2 [187 kB] 119s Get:67 http://ftpmaster.internal/ubuntu plucky/universe arm64 node-html5shiv all 3.7.3+dfsg-5 [13.5 kB] 119s Get:68 http://ftpmaster.internal/ubuntu plucky/universe arm64 node-normalize.css all 8.0.1-5 [10.8 kB] 119s Get:69 http://ftpmaster.internal/ubuntu plucky/universe arm64 pandoc-data all 3.1.11.1-3build1 [78.8 kB] 119s Get:70 http://ftpmaster.internal/ubuntu plucky/universe arm64 pandoc arm64 3.1.11.1+ds-2 [28.1 MB] 120s Get:71 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-base64enc arm64 0.1-3-3 [27.4 kB] 120s Get:72 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-rlang arm64 1.1.5-1 [1707 kB] 120s Get:73 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-fastmap arm64 1.2.0-1 [70.6 kB] 120s Get:74 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-cachem arm64 1.1.0-1 [74.1 kB] 120s Get:75 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-digest arm64 0.6.37-1 [200 kB] 120s Get:76 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-htmltools arm64 0.5.8.1-1 [373 kB] 120s Get:77 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-jquerylib all 0.1.4+dfsg-4 [13.5 kB] 120s Get:78 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-jsonlite arm64 1.9.1+dfsg-1 [445 kB] 120s Get:79 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-cli arm64 3.6.4-1 [1374 kB] 120s Get:80 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-glue arm64 1.8.0-1 [163 kB] 120s Get:81 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-lifecycle all 1.0.4+dfsg-1 [110 kB] 120s Get:82 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-memoise all 2.0.1-1 [53.9 kB] 120s Get:83 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-mime arm64 0.12-2 [35.8 kB] 120s Get:84 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-fs arm64 1.6.5+dfsg-1 [244 kB] 120s Get:85 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-r6 all 2.6.1-1 [101 kB] 120s Get:86 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-rappdirs arm64 0.3.3-1 [47.5 kB] 120s Get:87 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-sass arm64 0.4.9+dfsg-1 [957 kB] 120s Get:88 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-bslib all 0.8.0+dfsg-1 [4294 kB] 121s Get:89 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-commonmark arm64 1.9.2-2 [129 kB] 121s Get:90 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-crayon all 1.5.3-1 [165 kB] 121s Get:91 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-diffobj arm64 0.3.5-1 [1116 kB] 121s Get:92 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-evaluate all 1.0.3-1 [114 kB] 121s Get:93 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 r-cran-fansi arm64 1.0.6-1 [627 kB] 121s Get:94 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-fontawesome all 0.5.3-1 [1331 kB] 121s Get:95 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-xfun arm64 0.51+dfsg-1 [573 kB] 121s Get:96 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-highr all 0.11+dfsg-1 [38.5 kB] 121s Get:97 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-pkgkitten all 0.2.4-1 [27.2 kB] 121s Get:98 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-rcpp arm64 1.0.14-1 [1978 kB] 121s Get:99 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-later arm64 1.4.1+dfsg-1 [141 kB] 121s Get:100 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-magrittr arm64 2.0.3-1 [154 kB] 121s Get:101 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-promises arm64 1.3.2+dfsg-1 [290 kB] 121s Get:102 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-httpuv arm64 1.6.15+dfsg-1 [489 kB] 121s Get:103 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-yaml arm64 2.3.10-1 [108 kB] 121s Get:104 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-mathjax all 2.7.9+dfsg-1 [5665 kB] 122s Get:105 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-knitr all 1.49+dfsg-1 [859 kB] 122s Get:106 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-tinytex all 0.56-1 [148 kB] 122s Get:107 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjs-modernizr all 3.13.0-0.1 [101 kB] 122s Get:108 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-xtable all 1:1.8-4-2 [689 kB] 122s Get:109 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-sourcetools arm64 0.1.7-1-1 [47.2 kB] 122s Get:110 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-withr all 3.0.2+dfsg-1 [214 kB] 122s Get:111 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjs-twitter-bootstrap-datepicker all 1.3.1+dfsg1-4.1 [28.5 kB] 122s Get:112 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-shiny all 1.10.0+dfsg-2 [3124 kB] 122s Get:113 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-rmarkdown all 2.29+dfsg-1 [1501 kB] 122s Get:114 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-unitizer all 1.4.21-1 [1428 kB] 122s Preconfiguring packages ... 122s Fetched 103 MB in 5s (19.3 MB/s) 123s Selecting previously unselected package fonts-dejavu-mono. 123s (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 ... 117763 files and directories currently installed.) 123s Preparing to unpack .../000-fonts-dejavu-mono_2.37-8_all.deb ... 123s Unpacking fonts-dejavu-mono (2.37-8) ... 123s Selecting previously unselected package fonts-dejavu-core. 123s Preparing to unpack .../001-fonts-dejavu-core_2.37-8_all.deb ... 123s Unpacking fonts-dejavu-core (2.37-8) ... 123s Selecting previously unselected package fontconfig-config. 123s Preparing to unpack .../002-fontconfig-config_2.15.0-2ubuntu1_arm64.deb ... 123s Unpacking fontconfig-config (2.15.0-2ubuntu1) ... 123s Selecting previously unselected package libfontconfig1:arm64. 123s Preparing to unpack .../003-libfontconfig1_2.15.0-2ubuntu1_arm64.deb ... 123s Unpacking libfontconfig1:arm64 (2.15.0-2ubuntu1) ... 123s Selecting previously unselected package fontconfig. 123s Preparing to unpack .../004-fontconfig_2.15.0-2ubuntu1_arm64.deb ... 123s Unpacking fontconfig (2.15.0-2ubuntu1) ... 123s Selecting previously unselected package fonts-font-awesome. 123s Preparing to unpack .../005-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 123s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 123s Selecting previously unselected package fonts-glyphicons-halflings. 123s Preparing to unpack .../006-fonts-glyphicons-halflings_1.009~3.4.1+dfsg-3_all.deb ... 123s Unpacking fonts-glyphicons-halflings (1.009~3.4.1+dfsg-3) ... 123s Selecting previously unselected package fonts-mathjax. 123s Preparing to unpack .../007-fonts-mathjax_2.7.9+dfsg-1_all.deb ... 123s Unpacking fonts-mathjax (2.7.9+dfsg-1) ... 123s Selecting previously unselected package javascript-common. 123s Preparing to unpack .../008-javascript-common_12_all.deb ... 123s Unpacking javascript-common (12) ... 123s Selecting previously unselected package libblas3:arm64. 123s Preparing to unpack .../009-libblas3_3.12.1-2_arm64.deb ... 123s Unpacking libblas3:arm64 (3.12.1-2) ... 123s Selecting previously unselected package libpixman-1-0:arm64. 123s Preparing to unpack .../010-libpixman-1-0_0.44.0-3_arm64.deb ... 123s Unpacking libpixman-1-0:arm64 (0.44.0-3) ... 123s Selecting previously unselected package libxcb-render0:arm64. 124s Preparing to unpack .../011-libxcb-render0_1.17.0-2_arm64.deb ... 124s Unpacking libxcb-render0:arm64 (1.17.0-2) ... 124s Selecting previously unselected package libxcb-shm0:arm64. 124s Preparing to unpack .../012-libxcb-shm0_1.17.0-2_arm64.deb ... 124s Unpacking libxcb-shm0:arm64 (1.17.0-2) ... 124s Selecting previously unselected package libxrender1:arm64. 124s Preparing to unpack .../013-libxrender1_1%3a0.9.10-1.1build1_arm64.deb ... 124s Unpacking libxrender1:arm64 (1:0.9.10-1.1build1) ... 124s Selecting previously unselected package libcairo2:arm64. 124s Preparing to unpack .../014-libcairo2_1.18.2-2_arm64.deb ... 124s Unpacking libcairo2:arm64 (1.18.2-2) ... 124s Selecting previously unselected package libdatrie1:arm64. 124s Preparing to unpack .../015-libdatrie1_0.2.13-3build1_arm64.deb ... 124s Unpacking libdatrie1:arm64 (0.2.13-3build1) ... 124s Selecting previously unselected package libdeflate0:arm64. 124s Preparing to unpack .../016-libdeflate0_1.23-1_arm64.deb ... 124s Unpacking libdeflate0:arm64 (1.23-1) ... 124s Selecting previously unselected package libgfortran5:arm64. 124s Preparing to unpack .../017-libgfortran5_15-20250222-0ubuntu1_arm64.deb ... 124s Unpacking libgfortran5:arm64 (15-20250222-0ubuntu1) ... 124s Selecting previously unselected package libgomp1:arm64. 124s Preparing to unpack .../018-libgomp1_15-20250222-0ubuntu1_arm64.deb ... 124s Unpacking libgomp1:arm64 (15-20250222-0ubuntu1) ... 124s Selecting previously unselected package libgraphite2-3:arm64. 124s Preparing to unpack .../019-libgraphite2-3_1.3.14-2ubuntu1_arm64.deb ... 124s Unpacking libgraphite2-3:arm64 (1.3.14-2ubuntu1) ... 124s Selecting previously unselected package libharfbuzz0b:arm64. 124s Preparing to unpack .../020-libharfbuzz0b_10.2.0-1_arm64.deb ... 124s Unpacking libharfbuzz0b:arm64 (10.2.0-1) ... 124s Selecting previously unselected package x11-common. 124s Preparing to unpack .../021-x11-common_1%3a7.7+23ubuntu3_all.deb ... 124s Unpacking x11-common (1:7.7+23ubuntu3) ... 124s Selecting previously unselected package libice6:arm64. 124s Preparing to unpack .../022-libice6_2%3a1.1.1-1_arm64.deb ... 124s Unpacking libice6:arm64 (2:1.1.1-1) ... 124s Selecting previously unselected package libjpeg-turbo8:arm64. 124s Preparing to unpack .../023-libjpeg-turbo8_2.1.5-3ubuntu2_arm64.deb ... 124s Unpacking libjpeg-turbo8:arm64 (2.1.5-3ubuntu2) ... 124s Selecting previously unselected package libjpeg8:arm64. 124s Preparing to unpack .../024-libjpeg8_8c-2ubuntu11_arm64.deb ... 124s Unpacking libjpeg8:arm64 (8c-2ubuntu11) ... 124s Selecting previously unselected package libjs-bootstrap. 124s Preparing to unpack .../025-libjs-bootstrap_3.4.1+dfsg-3_all.deb ... 124s Unpacking libjs-bootstrap (3.4.1+dfsg-3) ... 124s Selecting previously unselected package libjs-popper.js. 124s Preparing to unpack .../026-libjs-popper.js_1.16.1+ds-6_all.deb ... 124s Unpacking libjs-popper.js (1.16.1+ds-6) ... 124s Selecting previously unselected package libjs-bootstrap4. 124s Preparing to unpack .../027-libjs-bootstrap4_4.6.1+dfsg1-4_all.deb ... 124s Unpacking libjs-bootstrap4 (4.6.1+dfsg1-4) ... 124s Selecting previously unselected package libjs-d3. 124s Preparing to unpack .../028-libjs-d3_3.5.17-4_all.deb ... 124s Unpacking libjs-d3 (3.5.17-4) ... 124s Selecting previously unselected package libjs-es5-shim. 124s Preparing to unpack .../029-libjs-es5-shim_4.6.7-2_all.deb ... 124s Unpacking libjs-es5-shim (4.6.7-2) ... 124s Selecting previously unselected package libjs-highlight.js. 124s Preparing to unpack .../030-libjs-highlight.js_9.18.5+dfsg1-2_all.deb ... 124s Unpacking libjs-highlight.js (9.18.5+dfsg1-2) ... 124s Selecting previously unselected package libjs-jquery. 124s Preparing to unpack .../031-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 124s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 124s Selecting previously unselected package libjs-jquery-datatables. 124s Preparing to unpack .../032-libjs-jquery-datatables_1.11.5+dfsg-2_all.deb ... 124s Unpacking libjs-jquery-datatables (1.11.5+dfsg-2) ... 124s Selecting previously unselected package libjs-sifter.js. 125s Preparing to unpack .../033-libjs-sifter.js_0.6.0+dfsg-3_all.deb ... 125s Unpacking libjs-sifter.js (0.6.0+dfsg-3) ... 125s Selecting previously unselected package libjs-microplugin.js. 125s Preparing to unpack .../034-libjs-microplugin.js_0.0.3+dfsg-1.1_all.deb ... 125s Unpacking libjs-microplugin.js (0.0.3+dfsg-1.1) ... 125s Selecting previously unselected package libjs-jquery-selectize.js. 125s Preparing to unpack .../035-libjs-jquery-selectize.js_0.12.6+dfsg-1.1_all.deb ... 125s Unpacking libjs-jquery-selectize.js (0.12.6+dfsg-1.1) ... 125s Selecting previously unselected package libjs-jquery-ui. 125s Preparing to unpack .../036-libjs-jquery-ui_1.13.2+dfsg-1_all.deb ... 125s Unpacking libjs-jquery-ui (1.13.2+dfsg-1) ... 125s Selecting previously unselected package libjs-json. 125s Preparing to unpack .../037-libjs-json_0~20221030+~1.0.8-1_all.deb ... 125s Unpacking libjs-json (0~20221030+~1.0.8-1) ... 125s Selecting previously unselected package libjs-prettify. 125s Preparing to unpack .../038-libjs-prettify_2015.12.04+dfsg-1.1_all.deb ... 125s Unpacking libjs-prettify (2015.12.04+dfsg-1.1) ... 125s Selecting previously unselected package liblapack3:arm64. 125s Preparing to unpack .../039-liblapack3_3.12.1-2_arm64.deb ... 125s Unpacking liblapack3:arm64 (3.12.1-2) ... 125s Selecting previously unselected package liblerc4:arm64. 125s Preparing to unpack .../040-liblerc4_4.0.0+ds-5ubuntu1_arm64.deb ... 125s Unpacking liblerc4:arm64 (4.0.0+ds-5ubuntu1) ... 125s Selecting previously unselected package liblua5.4-0:arm64. 125s Preparing to unpack .../041-liblua5.4-0_5.4.7-1_arm64.deb ... 125s Unpacking liblua5.4-0:arm64 (5.4.7-1) ... 125s Selecting previously unselected package libthai-data. 125s Preparing to unpack .../042-libthai-data_0.1.29-2build1_all.deb ... 125s Unpacking libthai-data (0.1.29-2build1) ... 125s Selecting previously unselected package libthai0:arm64. 125s Preparing to unpack .../043-libthai0_0.1.29-2build1_arm64.deb ... 125s Unpacking libthai0:arm64 (0.1.29-2build1) ... 125s Selecting previously unselected package libpango-1.0-0:arm64. 125s Preparing to unpack .../044-libpango-1.0-0_1.56.1-1_arm64.deb ... 125s Unpacking libpango-1.0-0:arm64 (1.56.1-1) ... 125s Selecting previously unselected package libpangoft2-1.0-0:arm64. 125s Preparing to unpack .../045-libpangoft2-1.0-0_1.56.1-1_arm64.deb ... 125s Unpacking libpangoft2-1.0-0:arm64 (1.56.1-1) ... 125s Selecting previously unselected package libpangocairo-1.0-0:arm64. 125s Preparing to unpack .../046-libpangocairo-1.0-0_1.56.1-1_arm64.deb ... 125s Unpacking libpangocairo-1.0-0:arm64 (1.56.1-1) ... 125s Selecting previously unselected package libpaper2:arm64. 125s Preparing to unpack .../047-libpaper2_2.2.5-0.3_arm64.deb ... 125s Unpacking libpaper2:arm64 (2.2.5-0.3) ... 125s Selecting previously unselected package libpaper-utils. 125s Preparing to unpack .../048-libpaper-utils_2.2.5-0.3_arm64.deb ... 125s Unpacking libpaper-utils (2.2.5-0.3) ... 125s Selecting previously unselected package libsharpyuv0:arm64. 125s Preparing to unpack .../049-libsharpyuv0_1.5.0-0.1_arm64.deb ... 125s Unpacking libsharpyuv0:arm64 (1.5.0-0.1) ... 125s Selecting previously unselected package libsm6:arm64. 125s Preparing to unpack .../050-libsm6_2%3a1.2.4-1_arm64.deb ... 125s Unpacking libsm6:arm64 (2:1.2.4-1) ... 125s Selecting previously unselected package libtcl8.6:arm64. 125s Preparing to unpack .../051-libtcl8.6_8.6.16+dfsg-1_arm64.deb ... 125s Unpacking libtcl8.6:arm64 (8.6.16+dfsg-1) ... 125s Selecting previously unselected package libjbig0:arm64. 125s Preparing to unpack .../052-libjbig0_2.1-6.1ubuntu2_arm64.deb ... 125s Unpacking libjbig0:arm64 (2.1-6.1ubuntu2) ... 125s Selecting previously unselected package libwebp7:arm64. 125s Preparing to unpack .../053-libwebp7_1.5.0-0.1_arm64.deb ... 125s Unpacking libwebp7:arm64 (1.5.0-0.1) ... 125s Selecting previously unselected package libtiff6:arm64. 126s Preparing to unpack .../054-libtiff6_4.5.1+git230720-4ubuntu4_arm64.deb ... 126s Unpacking libtiff6:arm64 (4.5.1+git230720-4ubuntu4) ... 126s Selecting previously unselected package libxft2:arm64. 126s Preparing to unpack .../055-libxft2_2.3.6-1build1_arm64.deb ... 126s Unpacking libxft2:arm64 (2.3.6-1build1) ... 126s Selecting previously unselected package libxss1:arm64. 126s Preparing to unpack .../056-libxss1_1%3a1.2.3-1build3_arm64.deb ... 126s Unpacking libxss1:arm64 (1:1.2.3-1build3) ... 126s Selecting previously unselected package libtk8.6:arm64. 126s Preparing to unpack .../057-libtk8.6_8.6.16-1_arm64.deb ... 126s Unpacking libtk8.6:arm64 (8.6.16-1) ... 126s Selecting previously unselected package libxt6t64:arm64. 126s Preparing to unpack .../058-libxt6t64_1%3a1.2.1-1.2build1_arm64.deb ... 126s Unpacking libxt6t64:arm64 (1:1.2.1-1.2build1) ... 126s Selecting previously unselected package zip. 126s Preparing to unpack .../059-zip_3.0-14ubuntu2_arm64.deb ... 126s Unpacking zip (3.0-14ubuntu2) ... 126s Selecting previously unselected package unzip. 126s Preparing to unpack .../060-unzip_6.0-28ubuntu6_arm64.deb ... 126s Unpacking unzip (6.0-28ubuntu6) ... 126s Selecting previously unselected package xdg-utils. 126s Preparing to unpack .../061-xdg-utils_1.2.1-2ubuntu1_all.deb ... 126s Unpacking xdg-utils (1.2.1-2ubuntu1) ... 126s Selecting previously unselected package r-base-core. 126s Preparing to unpack .../062-r-base-core_4.4.3-1_arm64.deb ... 126s Unpacking r-base-core (4.4.3-1) ... 126s Selecting previously unselected package r-cran-littler. 126s Preparing to unpack .../063-r-cran-littler_0.3.20-2_arm64.deb ... 126s Unpacking r-cran-littler (0.3.20-2) ... 126s Selecting previously unselected package littler. 126s Preparing to unpack .../064-littler_0.3.20-2_all.deb ... 126s Unpacking littler (0.3.20-2) ... 126s Selecting previously unselected package node-bootstrap-sass. 126s Preparing to unpack .../065-node-bootstrap-sass_3.4.3-2_all.deb ... 126s Unpacking node-bootstrap-sass (3.4.3-2) ... 126s Selecting previously unselected package node-html5shiv. 126s Preparing to unpack .../066-node-html5shiv_3.7.3+dfsg-5_all.deb ... 126s Unpacking node-html5shiv (3.7.3+dfsg-5) ... 126s Selecting previously unselected package node-normalize.css. 126s Preparing to unpack .../067-node-normalize.css_8.0.1-5_all.deb ... 126s Unpacking node-normalize.css (8.0.1-5) ... 126s Selecting previously unselected package pandoc-data. 126s Preparing to unpack .../068-pandoc-data_3.1.11.1-3build1_all.deb ... 126s Unpacking pandoc-data (3.1.11.1-3build1) ... 127s Selecting previously unselected package pandoc. 127s Preparing to unpack .../069-pandoc_3.1.11.1+ds-2_arm64.deb ... 127s Unpacking pandoc (3.1.11.1+ds-2) ... 127s Selecting previously unselected package r-cran-base64enc. 128s Preparing to unpack .../070-r-cran-base64enc_0.1-3-3_arm64.deb ... 128s Unpacking r-cran-base64enc (0.1-3-3) ... 128s Selecting previously unselected package r-cran-rlang. 128s Preparing to unpack .../071-r-cran-rlang_1.1.5-1_arm64.deb ... 128s Unpacking r-cran-rlang (1.1.5-1) ... 128s Selecting previously unselected package r-cran-fastmap. 128s Preparing to unpack .../072-r-cran-fastmap_1.2.0-1_arm64.deb ... 128s Unpacking r-cran-fastmap (1.2.0-1) ... 128s Selecting previously unselected package r-cran-cachem. 128s Preparing to unpack .../073-r-cran-cachem_1.1.0-1_arm64.deb ... 128s Unpacking r-cran-cachem (1.1.0-1) ... 128s Selecting previously unselected package r-cran-digest. 128s Preparing to unpack .../074-r-cran-digest_0.6.37-1_arm64.deb ... 128s Unpacking r-cran-digest (0.6.37-1) ... 128s Selecting previously unselected package r-cran-htmltools. 128s Preparing to unpack .../075-r-cran-htmltools_0.5.8.1-1_arm64.deb ... 128s Unpacking r-cran-htmltools (0.5.8.1-1) ... 128s Selecting previously unselected package r-cran-jquerylib. 128s Preparing to unpack .../076-r-cran-jquerylib_0.1.4+dfsg-4_all.deb ... 128s Unpacking r-cran-jquerylib (0.1.4+dfsg-4) ... 128s Selecting previously unselected package r-cran-jsonlite. 128s Preparing to unpack .../077-r-cran-jsonlite_1.9.1+dfsg-1_arm64.deb ... 128s Unpacking r-cran-jsonlite (1.9.1+dfsg-1) ... 128s Selecting previously unselected package r-cran-cli. 128s Preparing to unpack .../078-r-cran-cli_3.6.4-1_arm64.deb ... 128s Unpacking r-cran-cli (3.6.4-1) ... 128s Selecting previously unselected package r-cran-glue. 128s Preparing to unpack .../079-r-cran-glue_1.8.0-1_arm64.deb ... 128s Unpacking r-cran-glue (1.8.0-1) ... 128s Selecting previously unselected package r-cran-lifecycle. 128s Preparing to unpack .../080-r-cran-lifecycle_1.0.4+dfsg-1_all.deb ... 128s Unpacking r-cran-lifecycle (1.0.4+dfsg-1) ... 128s Selecting previously unselected package r-cran-memoise. 128s Preparing to unpack .../081-r-cran-memoise_2.0.1-1_all.deb ... 128s Unpacking r-cran-memoise (2.0.1-1) ... 128s Selecting previously unselected package r-cran-mime. 128s Preparing to unpack .../082-r-cran-mime_0.12-2_arm64.deb ... 128s Unpacking r-cran-mime (0.12-2) ... 128s Selecting previously unselected package r-cran-fs. 128s Preparing to unpack .../083-r-cran-fs_1.6.5+dfsg-1_arm64.deb ... 128s Unpacking r-cran-fs (1.6.5+dfsg-1) ... 128s Selecting previously unselected package r-cran-r6. 128s Preparing to unpack .../084-r-cran-r6_2.6.1-1_all.deb ... 128s Unpacking r-cran-r6 (2.6.1-1) ... 128s Selecting previously unselected package r-cran-rappdirs. 128s Preparing to unpack .../085-r-cran-rappdirs_0.3.3-1_arm64.deb ... 128s Unpacking r-cran-rappdirs (0.3.3-1) ... 128s Selecting previously unselected package r-cran-sass. 128s Preparing to unpack .../086-r-cran-sass_0.4.9+dfsg-1_arm64.deb ... 128s Unpacking r-cran-sass (0.4.9+dfsg-1) ... 128s Selecting previously unselected package r-cran-bslib. 128s Preparing to unpack .../087-r-cran-bslib_0.8.0+dfsg-1_all.deb ... 128s Unpacking r-cran-bslib (0.8.0+dfsg-1) ... 128s Selecting previously unselected package r-cran-commonmark. 129s Preparing to unpack .../088-r-cran-commonmark_1.9.2-2_arm64.deb ... 129s Unpacking r-cran-commonmark (1.9.2-2) ... 129s Selecting previously unselected package r-cran-crayon. 129s Preparing to unpack .../089-r-cran-crayon_1.5.3-1_all.deb ... 129s Unpacking r-cran-crayon (1.5.3-1) ... 129s Selecting previously unselected package r-cran-diffobj. 129s Preparing to unpack .../090-r-cran-diffobj_0.3.5-1_arm64.deb ... 129s Unpacking r-cran-diffobj (0.3.5-1) ... 129s Selecting previously unselected package r-cran-evaluate. 129s Preparing to unpack .../091-r-cran-evaluate_1.0.3-1_all.deb ... 129s Unpacking r-cran-evaluate (1.0.3-1) ... 129s Selecting previously unselected package r-cran-fansi. 129s Preparing to unpack .../092-r-cran-fansi_1.0.6-1_arm64.deb ... 129s Unpacking r-cran-fansi (1.0.6-1) ... 129s Selecting previously unselected package r-cran-fontawesome. 129s Preparing to unpack .../093-r-cran-fontawesome_0.5.3-1_all.deb ... 129s Unpacking r-cran-fontawesome (0.5.3-1) ... 129s Selecting previously unselected package r-cran-xfun. 129s Preparing to unpack .../094-r-cran-xfun_0.51+dfsg-1_arm64.deb ... 129s Unpacking r-cran-xfun (0.51+dfsg-1) ... 129s Selecting previously unselected package r-cran-highr. 129s Preparing to unpack .../095-r-cran-highr_0.11+dfsg-1_all.deb ... 129s Unpacking r-cran-highr (0.11+dfsg-1) ... 129s Selecting previously unselected package r-cran-pkgkitten. 129s Preparing to unpack .../096-r-cran-pkgkitten_0.2.4-1_all.deb ... 129s Unpacking r-cran-pkgkitten (0.2.4-1) ... 129s Selecting previously unselected package r-cran-rcpp. 129s Preparing to unpack .../097-r-cran-rcpp_1.0.14-1_arm64.deb ... 129s Unpacking r-cran-rcpp (1.0.14-1) ... 129s Selecting previously unselected package r-cran-later. 129s Preparing to unpack .../098-r-cran-later_1.4.1+dfsg-1_arm64.deb ... 129s Unpacking r-cran-later (1.4.1+dfsg-1) ... 129s Selecting previously unselected package r-cran-magrittr. 129s Preparing to unpack .../099-r-cran-magrittr_2.0.3-1_arm64.deb ... 129s Unpacking r-cran-magrittr (2.0.3-1) ... 129s Selecting previously unselected package r-cran-promises. 129s Preparing to unpack .../100-r-cran-promises_1.3.2+dfsg-1_arm64.deb ... 129s Unpacking r-cran-promises (1.3.2+dfsg-1) ... 129s Selecting previously unselected package r-cran-httpuv. 129s Preparing to unpack .../101-r-cran-httpuv_1.6.15+dfsg-1_arm64.deb ... 129s Unpacking r-cran-httpuv (1.6.15+dfsg-1) ... 129s Selecting previously unselected package r-cran-yaml. 129s Preparing to unpack .../102-r-cran-yaml_2.3.10-1_arm64.deb ... 129s Unpacking r-cran-yaml (2.3.10-1) ... 129s Selecting previously unselected package libjs-mathjax. 129s Preparing to unpack .../103-libjs-mathjax_2.7.9+dfsg-1_all.deb ... 129s Unpacking libjs-mathjax (2.7.9+dfsg-1) ... 130s Selecting previously unselected package r-cran-knitr. 130s Preparing to unpack .../104-r-cran-knitr_1.49+dfsg-1_all.deb ... 130s Unpacking r-cran-knitr (1.49+dfsg-1) ... 130s Selecting previously unselected package r-cran-tinytex. 130s Preparing to unpack .../105-r-cran-tinytex_0.56-1_all.deb ... 130s Unpacking r-cran-tinytex (0.56-1) ... 130s Selecting previously unselected package libjs-modernizr. 130s Preparing to unpack .../106-libjs-modernizr_3.13.0-0.1_all.deb ... 130s Unpacking libjs-modernizr (3.13.0-0.1) ... 130s Selecting previously unselected package r-cran-xtable. 130s Preparing to unpack .../107-r-cran-xtable_1%3a1.8-4-2_all.deb ... 130s Unpacking r-cran-xtable (1:1.8-4-2) ... 130s Selecting previously unselected package r-cran-sourcetools. 130s Preparing to unpack .../108-r-cran-sourcetools_0.1.7-1-1_arm64.deb ... 130s Unpacking r-cran-sourcetools (0.1.7-1-1) ... 130s Selecting previously unselected package r-cran-withr. 130s Preparing to unpack .../109-r-cran-withr_3.0.2+dfsg-1_all.deb ... 130s Unpacking r-cran-withr (3.0.2+dfsg-1) ... 130s Selecting previously unselected package libjs-twitter-bootstrap-datepicker. 130s Preparing to unpack .../110-libjs-twitter-bootstrap-datepicker_1.3.1+dfsg1-4.1_all.deb ... 130s Unpacking libjs-twitter-bootstrap-datepicker (1.3.1+dfsg1-4.1) ... 130s Selecting previously unselected package r-cran-shiny. 130s Preparing to unpack .../111-r-cran-shiny_1.10.0+dfsg-2_all.deb ... 130s Unpacking r-cran-shiny (1.10.0+dfsg-2) ... 130s Selecting previously unselected package r-cran-rmarkdown. 131s Preparing to unpack .../112-r-cran-rmarkdown_2.29+dfsg-1_all.deb ... 131s Unpacking r-cran-rmarkdown (2.29+dfsg-1) ... 131s Selecting previously unselected package r-cran-unitizer. 131s Preparing to unpack .../113-r-cran-unitizer_1.4.21-1_all.deb ... 131s Unpacking r-cran-unitizer (1.4.21-1) ... 131s Setting up libjs-json (0~20221030+~1.0.8-1) ... 131s Setting up javascript-common (12) ... 131s Setting up libgraphite2-3:arm64 (1.3.14-2ubuntu1) ... 131s Setting up libpixman-1-0:arm64 (0.44.0-3) ... 131s Setting up libsharpyuv0:arm64 (1.5.0-0.1) ... 131s Setting up fonts-mathjax (2.7.9+dfsg-1) ... 131s Setting up liblerc4:arm64 (4.0.0+ds-5ubuntu1) ... 131s Setting up libjs-mathjax (2.7.9+dfsg-1) ... 131s Setting up libxrender1:arm64 (1:0.9.10-1.1build1) ... 131s Setting up libdatrie1:arm64 (0.2.13-3build1) ... 131s Setting up libjs-popper.js (1.16.1+ds-6) ... 131s Setting up libxcb-render0:arm64 (1.17.0-2) ... 131s Setting up libjs-sifter.js (0.6.0+dfsg-3) ... 131s Setting up fonts-glyphicons-halflings (1.009~3.4.1+dfsg-3) ... 131s Setting up unzip (6.0-28ubuntu6) ... 131s Setting up x11-common (1:7.7+23ubuntu3) ... 131s Setting up node-html5shiv (3.7.3+dfsg-5) ... 131s Setting up libdeflate0:arm64 (1.23-1) ... 131s Setting up libjs-microplugin.js (0.0.3+dfsg-1.1) ... 131s Setting up libxcb-shm0:arm64 (1.17.0-2) ... 131s Setting up libgomp1:arm64 (15-20250222-0ubuntu1) ... 131s Setting up libjs-modernizr (3.13.0-0.1) ... 131s Setting up libjbig0:arm64 (2.1-6.1ubuntu2) ... 131s Setting up libjs-es5-shim (4.6.7-2) ... 131s Setting up zip (3.0-14ubuntu2) ... 131s Setting up libblas3:arm64 (3.12.1-2) ... 131s update-alternatives: using /usr/lib/aarch64-linux-gnu/blas/libblas.so.3 to provide /usr/lib/aarch64-linux-gnu/libblas.so.3 (libblas.so.3-aarch64-linux-gnu) in auto mode 131s Setting up libjs-d3 (3.5.17-4) ... 131s Setting up fonts-dejavu-mono (2.37-8) ... 131s Setting up libtcl8.6:arm64 (8.6.16+dfsg-1) ... 131s Setting up fonts-dejavu-core (2.37-8) ... 131s Setting up libjpeg-turbo8:arm64 (2.1.5-3ubuntu2) ... 131s Setting up libgfortran5:arm64 (15-20250222-0ubuntu1) ... 131s Setting up libwebp7:arm64 (1.5.0-0.1) ... 131s Setting up libjs-highlight.js (9.18.5+dfsg1-2) ... 131s Setting up liblua5.4-0:arm64 (5.4.7-1) ... 131s Setting up libharfbuzz0b:arm64 (10.2.0-1) ... 131s Setting up libthai-data (0.1.29-2build1) ... 131s Setting up node-bootstrap-sass (3.4.3-2) ... 131s Setting up libjs-prettify (2015.12.04+dfsg-1.1) ... 131s Setting up libxss1:arm64 (1:1.2.3-1build3) ... 131s Setting up libjs-bootstrap4 (4.6.1+dfsg1-4) ... 131s Setting up libpaper2:arm64 (2.2.5-0.3) ... 131s Setting up pandoc-data (3.1.11.1-3build1) ... 131s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 131s Setting up node-normalize.css (8.0.1-5) ... 131s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 131s Setting up xdg-utils (1.2.1-2ubuntu1) ... 131s update-alternatives: using /usr/bin/xdg-open to provide /usr/bin/open (open) in auto mode 131s Setting up libjs-bootstrap (3.4.1+dfsg-3) ... 131s Setting up libjs-jquery-selectize.js (0.12.6+dfsg-1.1) ... 131s Setting up libjpeg8:arm64 (8c-2ubuntu11) ... 131s Setting up libice6:arm64 (2:1.1.1-1) ... 131s Setting up liblapack3:arm64 (3.12.1-2) ... 131s update-alternatives: using /usr/lib/aarch64-linux-gnu/lapack/liblapack.so.3 to provide /usr/lib/aarch64-linux-gnu/liblapack.so.3 (liblapack.so.3-aarch64-linux-gnu) in auto mode 131s Setting up fontconfig-config (2.15.0-2ubuntu1) ... 131s Setting up libjs-twitter-bootstrap-datepicker (1.3.1+dfsg1-4.1) ... 131s Setting up libpaper-utils (2.2.5-0.3) ... 131s Setting up libjs-jquery-datatables (1.11.5+dfsg-2) ... 131s Setting up libthai0:arm64 (0.1.29-2build1) ... 131s Setting up libjs-jquery-ui (1.13.2+dfsg-1) ... 131s Setting up pandoc (3.1.11.1+ds-2) ... 131s Setting up libtiff6:arm64 (4.5.1+git230720-4ubuntu4) ... 131s Setting up libfontconfig1:arm64 (2.15.0-2ubuntu1) ... 131s Setting up libsm6:arm64 (2:1.2.4-1) ... 131s Setting up fontconfig (2.15.0-2ubuntu1) ... 133s Regenerating fonts cache... done. 133s Setting up libxft2:arm64 (2.3.6-1build1) ... 133s Setting up libtk8.6:arm64 (8.6.16-1) ... 133s Setting up libpango-1.0-0:arm64 (1.56.1-1) ... 134s Setting up libcairo2:arm64 (1.18.2-2) ... 134s Setting up libxt6t64:arm64 (1:1.2.1-1.2build1) ... 134s Setting up libpangoft2-1.0-0:arm64 (1.56.1-1) ... 134s Setting up libpangocairo-1.0-0:arm64 (1.56.1-1) ... 134s Setting up r-base-core (4.4.3-1) ... 134s Creating config file /etc/R/Renviron with new version 134s Setting up r-cran-crayon (1.5.3-1) ... 134s Setting up r-cran-sourcetools (0.1.7-1-1) ... 134s Setting up r-cran-commonmark (1.9.2-2) ... 134s Setting up r-cran-r6 (2.6.1-1) ... 134s Setting up r-cran-pkgkitten (0.2.4-1) ... 134s Setting up r-cran-magrittr (2.0.3-1) ... 134s Setting up r-cran-rappdirs (0.3.3-1) ... 134s Setting up r-cran-littler (0.3.20-2) ... 134s Setting up r-cran-fs (1.6.5+dfsg-1) ... 134s Setting up r-cran-rcpp (1.0.14-1) ... 134s Setting up r-cran-diffobj (0.3.5-1) ... 134s Setting up r-cran-rlang (1.1.5-1) ... 134s Setting up littler (0.3.20-2) ... 134s Setting up r-cran-xfun (0.51+dfsg-1) ... 134s Setting up r-cran-withr (3.0.2+dfsg-1) ... 134s Setting up r-cran-mime (0.12-2) ... 134s Setting up r-cran-base64enc (0.1-3-3) ... 134s Setting up r-cran-digest (0.6.37-1) ... 134s Setting up r-cran-yaml (2.3.10-1) ... 134s Setting up r-cran-evaluate (1.0.3-1) ... 134s Setting up r-cran-highr (0.11+dfsg-1) ... 134s Setting up r-cran-fansi (1.0.6-1) ... 134s Setting up r-cran-glue (1.8.0-1) ... 134s Setting up r-cran-xtable (1:1.8-4-2) ... 134s Setting up r-cran-cli (3.6.4-1) ... 134s Setting up r-cran-lifecycle (1.0.4+dfsg-1) ... 134s Setting up r-cran-fastmap (1.2.0-1) ... 134s Setting up r-cran-jsonlite (1.9.1+dfsg-1) ... 134s Setting up r-cran-later (1.4.1+dfsg-1) ... 134s Setting up r-cran-htmltools (0.5.8.1-1) ... 134s Setting up r-cran-tinytex (0.56-1) ... 134s Setting up r-cran-knitr (1.49+dfsg-1) ... 134s Setting up r-cran-cachem (1.1.0-1) ... 134s Setting up r-cran-sass (0.4.9+dfsg-1) ... 134s Setting up r-cran-unitizer (1.4.21-1) ... 134s Setting up r-cran-fontawesome (0.5.3-1) ... 134s Setting up r-cran-jquerylib (0.1.4+dfsg-4) ... 134s Setting up r-cran-memoise (2.0.1-1) ... 134s Setting up r-cran-promises (1.3.2+dfsg-1) ... 134s Setting up r-cran-httpuv (1.6.15+dfsg-1) ... 134s Setting up r-cran-bslib (0.8.0+dfsg-1) ... 134s Setting up r-cran-shiny (1.10.0+dfsg-2) ... 134s Setting up r-cran-rmarkdown (2.29+dfsg-1) ... 134s Processing triggers for libc-bin (2.41-1ubuntu1) ... 134s Processing triggers for man-db (2.13.0-1) ... 135s Processing triggers for install-info (7.1.1-1) ... 136s autopkgtest [10:47:56]: test run-unit-test: [----------------------- 136s BEGIN TEST run.R 136s 136s R version 4.4.3 (2025-02-28) -- "Trophy Case" 136s Copyright (C) 2025 The R Foundation for Statistical Computing 136s Platform: aarch64-unknown-linux-gnu 136s 136s R is free software and comes with ABSOLUTELY NO WARRANTY. 136s You are welcome to redistribute it under certain conditions. 136s Type 'license()' or 'licence()' for distribution details. 136s 136s R is a collaborative project with many contributors. 136s Type 'contributors()' for more information and 136s 'citation()' on how to cite R or R packages in publications. 136s 136s Type 'demo()' for some demos, 'help()' for on-line help, or 136s 'help.start()' for an HTML browser interface to help. 136s Type 'q()' to quit R. 136s 136s > # to avoid variability on terminals with different capabilities 136s > # plus generally random options being set 136s > 136s > if(getRversion() < "3.2.2") { 136s + warning("Cannot run tests with R version less than 3.2.2.") 136s + } else if(!suppressWarnings(require('fansi'))) { 136s + # this is to avoid accidentally running tests under valgrind without fansi 136s + # installed... (no, we've never done this...) 136s + warning("Cannot run tests without package `fansi`") 136s + } else if(!suppressWarnings(require('unitizer'))) { 136s + warning("Cannot run tests without package `unitizer`") 136s + } else { 136s + old.opt <- options( 136s + fansi.tabs.as.spaces=FALSE, 136s + fansi.tab.stops=8L, 136s + fansi.warn=TRUE, 136s + fansi.term.cap=c('bright', '256') 136s + # warnPartialMatchArgs = TRUE, 136s + # warnPartialMatchAttr = TRUE, 136s + # warnPartialMatchDollar = TRUE 136s + ) 136s + on.exit(old.opt) 136s + pat.all <- "^[^.].*\\.[Rr]$" 136s + pattern <- pat.all 136s + # pattern <- "over" 136s + unitize_dir( 136s + 'unitizer', 136s + pattern=pattern, 136s + state='suggested' 136s + ) 136s + # we skip utf8 tests on solaris due to the problems with deparse (and maybe 136s + # others, don't have a solaris system handy for testing). 136s + if( 136s + !grepl("solaris|sun", Sys.info()[['sysname']], ignore.case=TRUE) && 136s + identical(pattern, pat.all) 136s + ) { 136s + unitize('special/utf8.R', state='suggested') 136s + } 136s + # UCD 12.1 update in 4.0.4 produces correct widths for emoji 136s + if(getRversion() >= "4.0.4" && identical(pattern, pat.all)) 136s + unitize('special/emo-graph.R', state='suggested') 136s + } 136s Loading required package: fansi 136s Loading required package: unitizer 137s 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. 137s 137s Preloads... 137s Loading unitizer data... 137s Parsing tests... 137s Parsing has.R 137s Parsing interactions.R 137s Parsing misc.R 137s Parsing nchar.R 137s Parsing normalize.R 137s Parsing overflow.R 137s Parsing strip.R 137s Parsing strsplit.R 137s Parsing substr.R 137s Parsing tabs.R 137s Parsing tohtml.R 137s Parsing trimws.R 137s Parsing url.R 137s Parsing wrap.R 138s Evaluating tests... 138s 138s 1/14 has.R: 138s 1/14 has.R: library(fansi) 138s 1/14 has.R: unitizer_sect("has", { 138s 1/14 has.R: has_ctl(paste0(red, "hello", end)) 138s [1] TRUE 138s 1/14 has.R: has_ctl(paste0("hello", end)) 138s [1] TRUE 138s 1/14 has.R: has_ctl(paste0("hello")) 138s [1] FALSE 138s 1/14 has.R: in.middle <- c("world", paste0("hello", red), "wow") 138s 1/14 has.R: in.end <- c("world", "wow", paste0("hello", red)) 138s 1/14 has.R: in.start <- c(paste0("hello", red), "wow", "world") 138s 1/14 has.R: has_ctl(in.middle) 138s [1] FALSE TRUE FALSE 138s 1/14 has.R: has_ctl(in.end) 138s [1] FALSE FALSE TRUE 138s 1/14 has.R: has_ctl(in.start) 138s [1] TRUE FALSE FALSE 138s 1/14 has.R: has_ctl(c(in.start, NA)) 138s [1] TRUE FALSE FALSE NA 138s 1/14 has.R: has_ctl("hello\nworld") 138s [1] TRUE 138s 1/14 has.R: has_sgr("hello\nworld") 138s [1] FALSE 138s 1/14 has.R: has_sgr(in.end) 138s [1] FALSE FALSE TRUE 138s 1/14 has.R: has_ctl("hello\033p world") 138s [1] TRUE 138s 1/14 has.R: unitizer_sect("corner cases", { 138s 1/14 has.R: has_ctl("hello\033[31#0mworld") 138s [1] TRUE 138s 1/14 has.R: suppressWarnings(has_ctl("hello\033[31#0mworld")) 138s [1] TRUE 138s 1/14 has.R: has_ctl("hello world", ctl = c("sgr", "sgr")) 138s [1] FALSE 138s 1/14 has.R: has_ctl("hello\033[31#0") 138s Warning in has_ctl("hello\033[31#0") : 138s 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. 138s [1] TRUE 138s 1/14 has.R: unitizer_sect("select ctl", { 138s 1/14 has.R: has_ctl("hello\033[31mworld", ctl = c("sgr")) 138s [1] TRUE 139s 1/14 has.R: has_ctl("hello\033[31mworld", ctl = c("csi")) 139s [1] FALSE 139s 1/14 has.R: has_ctl("hello\033[31!mworld", ctl = c("sgr")) 139s [1] TRUE 139s 1/14 has.R: has_ctl("hello\033[31!mworld", ctl = c("csi")) 139s [1] FALSE 139s 1/14 has.R: has_ctl("hello\033[31lworld", ctl = c("csi")) 139s [1] TRUE 139s 1/14 has.R: has_ctl("hello\nworld", ctl = c("all", "nl")) 139s [1] FALSE 139s 1/14 has.R: has_ctl("hello\nworld", ctl = c("all", "c0")) 139s [1] TRUE 139s 1/14 has.R: has_ctl("hello\tworld", ctl = c("all", "c0")) 139s [1] FALSE 139s 1/14 has.R: has_ctl("hello\tworld", ctl = c("c0")) 139s [1] TRUE 139s 1/14 has.R: has_ctl("hello\033pworld", ctl = c("esc")) 139s [1] TRUE 139s 1/14 has.R: has_ctl("hello\033pworld", ctl = c("all", "esc")) 139s [1] FALSE 139s 1/14 has.R: unitizer_sect("bad inputs", { 139s 1/14 has.R: has_ctl("hello world", warn = NULL) 139s Error in has_ctl("hello world", warn = NULL) : 139s Argument `warn` must be TRUE or FALSE. 139s Calls: unitize_dir ... eval -> withVisible -> has_ctl -> VAL_IN_ENV -> stop2 139s 1/14 has.R: has_ctl("hello world", ctl = 1:3) 139s Error in has_ctl("hello world", ctl = 1:3) : 139s Argument `ctl` must be character. 139s Calls: unitize_dir ... eval -> withVisible -> has_ctl -> VAL_IN_ENV -> stop2 139s 1/14 has.R: has_ctl("hello world", ctl = "bananas") 139s Error in has_ctl("hello world", ctl = "bananas") : 139s Argument `ctl` may contain only values in `c("all", "nl", "c0", "sgr", "csi", "esc", "url", "osc")` 139s Calls: unitize_dir ... eval -> withVisible -> has_ctl -> VAL_IN_ENV -> stop2 139s 1/14 has.R: has_ctl("hello world", ctl = NA_character_) 139s Error in has_ctl("hello world", ctl = NA_character_) : 139s Argument `ctl` may contain only values in `c("all", "nl", "c0", "sgr", "csi", "esc", "url", "osc")` 139s Calls: unitize_dir ... eval -> withVisible -> has_ctl -> VAL_IN_ENV -> stop2 139s 1/14 has.R: has_ctl(c("\033[31mhello", "wo\nrld"), ctl = character()) 139s [1] FALSE FALSE 139s 1/14 has.R: unitizer_sect("deprecation", { 139s 1/14 has.R: has_ctl("hello world", which = "sgr") 139s Parameter `which` has been deprecated; use `ctl` instead. 139s [1] FALSE 139s 139s 2/14 interactions.R: 139s 2/14 interactions.R: library(fansi) 139s 2/14 interactions.R: unitizer_sect("substr", { 139s 2/14 interactions.R: str.0 <- c("\033[44mhello", "world") 139s 2/14 interactions.R: substr_ctl(str.0, 2, 4) 139s [1] "\033[44mell\033[0m" "orl" 139s 2/14 interactions.R: substr_ctl(str.0, 2, 4, carry = TRUE) 139s [1] "\033[44mell\033[0m" "\033[44morl\033[0m" 139s 2/14 interactions.R: substr_ctl(str.0, 2, 4, carry = "\033[33m") 139s [1] "\033[33;44mell\033[0m" "\033[33;44morl\033[0m" 139s 2/14 interactions.R: substr2_ctl(str.0, 2, 4, carry = "\033[33m") 139s [1] "\033[33;44mell\033[0m" "\033[33;44morl\033[0m" 139s 2/14 interactions.R: substr_sgr(str.0, 2, 4, carry = "\033[33m") 139s [1] "\033[33;44mell\033[0m" "\033[33;44morl\033[0m" 139s 2/14 interactions.R: substr2_sgr(str.0, 2, 4, carry = "\033[33m") 139s [1] "\033[33;44mell\033[0m" "\033[33;44morl\033[0m" 139s 2/14 interactions.R: str.1 <- c("hello", "\033[44mworld", "barrow") 139s 2/14 interactions.R: substr_ctl(str.1, 2, 4) 139s [1] "ell" "\033[44morl\033[0m" "arr" 139s 2/14 interactions.R: substr_ctl(str.1, 2, 4, carry = TRUE) 139s [1] "ell" "\033[44morl\033[0m" "\033[44marr\033[0m" 139s 2/14 interactions.R: substr_ctl(str.1, 2, 4, carry = "\033[33m") 139s [1] "\033[33mell\033[0m" "\033[33;44morl\033[0m" "\033[33;44marr\033[0m" 139s 2/14 interactions.R: str.2 <- c("\033[33mA\033[44mBCD", "ABCD", "\033[39mABCD") 139s 2/14 interactions.R: substr_ctl(str.2, 2, 2) 139s [1] "\033[33;44mB\033[0m" "B" "B" 139s 2/14 interactions.R: substr_ctl(str.2, 2, 2, carry = TRUE) 139s [1] "\033[33;44mB\033[0m" "\033[33;44mB\033[0m" "\033[44mB\033[0m" 139s 2/14 interactions.R: substr_ctl(str.2, 2, 2, carry = TRUE, terminate = FALSE) 139s [1] "\033[33;44mB" "B" "\033[0;44mB" 139s 2/14 interactions.R: str.3 <- c("\033[35mA\033[42mB", "\033[49mCD") 139s 2/14 interactions.R: substr_ctl(str.3, 2, 2, carry = TRUE, terminate = FALSE) 139s [1] "\033[35;42mB" "\033[0;35mD" 139s 2/14 interactions.R: wrp.0 <- c("once upon \033[44ma time in a land far away ov 139s 2/14 interactions.R: unitizer_sect("wrap/trim", { 139s 2/14 interactions.R: strwrap_ctl(wrp.0, 20) 139s [1] "once upon \033[44ma time in\033[0m" "\033[44ma land far away\033[0m" 139s [3] "\033[44mover\033[0m" "the mountains and" 139s [5] "\033[7msea lived a fair\033[0m" "\033[7mcreature\033[0m" 139s [7] "with \033[4mdark itentions\033[0m" "\033[4mand a yappy dog.\033[0m" 139s 2/14 interactions.R: strwrap_ctl(wrp.0, 20, carry = TRUE) 139s [1] "once upon \033[44ma time in\033[0m" 139s [2] "\033[44ma land far away\033[0m" 139s [3] "\033[44mover\033[0m" 139s [4] "\033[44mthe mountains and\033[0m" 139s [5] "\033[7;44msea lived a fair\033[0m" 139s [6] "\033[7;44mcreature\033[0m" 139s [7] "\033[7;44mwith \033[4mdark itentions\033[0m" 139s [8] "\033[4;7;44mand a yappy dog.\033[0m" 139s 2/14 interactions.R: strwrap_ctl(wrp.0, 20, carry = "\033[33m") 139s [1] "\033[33monce upon \033[44ma time in\033[0m" 139s [2] "\033[33;44ma land far away\033[0m" 139s [3] "\033[33;44mover\033[0m" 139s [4] "\033[33;44mthe mountains and\033[0m" 139s [5] "\033[7;33;44msea lived a fair\033[0m" 139s [6] "\033[7;33;44mcreature\033[0m" 139s [7] "\033[7;33;44mwith \033[4mdark itentions\033[0m" 139s [8] "\033[4;7;33;44mand a yappy dog.\033[0m" 139s 2/14 interactions.R: strwrap_sgr(wrp.0, 20, carry = "\033[33m") 139s [1] "\033[33monce upon \033[44ma time in\033[0m" 139s [2] "\033[33;44ma land far away\033[0m" 139s [3] "\033[33;44mover\033[0m" 139s [4] "\033[33;44mthe mountains and\033[0m" 139s [5] "\033[7;33;44msea lived a fair\033[0m" 139s [6] "\033[7;33;44mcreature\033[0m" 139s [7] "\033[7;33;44mwith \033[4mdark itentions\033[0m" 139s [8] "\033[4;7;33;44mand a yappy dog.\033[0m" 139s 2/14 interactions.R: strwrap2_ctl(wrp.0, 20, carry = "\033[33m") 139s [1] "\033[33monce upon \033[44ma time in\033[0m" 139s [2] "\033[33;44ma land far away\033[0m" 139s [3] "\033[33;44mover\033[0m" 139s [4] "\033[33;44mthe mountains and\033[0m" 139s [5] "\033[7;33;44msea lived a fair\033[0m" 139s [6] "\033[7;33;44mcreature\033[0m" 139s [7] "\033[7;33;44mwith \033[4mdark itentions\033[0m" 139s [8] "\033[4;7;33;44mand a yappy dog.\033[0m" 139s 2/14 interactions.R: strwrap2_sgr(wrp.0, 20, carry = "\033[33m") 139s [1] "\033[33monce upon \033[44ma time in\033[0m" 139s [2] "\033[33;44ma land far away\033[0m" 139s [3] "\033[33;44mover\033[0m" 139s [4] "\033[33;44mthe mountains and\033[0m" 139s [5] "\033[7;33;44msea lived a fair\033[0m" 139s [6] "\033[7;33;44mcreature\033[0m" 139s [7] "\033[7;33;44mwith \033[4mdark itentions\033[0m" 139s [8] "\033[4;7;33;44mand a yappy dog.\033[0m" 139s 2/14 interactions.R: strtrim_ctl(wrp.0, 20, carry = "\033[33m") 139s [1] "\033[33monce upon \033[44ma time in \033[0m" 139s [2] "\033[33;44mthe mountains and \033[7m s\033[0m" 139s [3] "\033[7;33;44mwith \033[4mdark itentions \033[0m" 139s 2/14 interactions.R: strtrim_sgr(wrp.0, 20, carry = "\033[33m") 139s [1] "\033[33monce upon \033[44ma time in \033[0m" 139s [2] "\033[33;44mthe mountains and \033[7m s\033[0m" 139s [3] "\033[7;33;44mwith \033[4mdark itentions \033[0m" 139s 2/14 interactions.R: strtrim2_ctl(wrp.0, 20, carry = "\033[33m") 139s [1] "\033[33monce upon \033[44ma time in \033[0m" 139s [2] "\033[33;44mthe mountains and \033[7m s\033[0m" 139s [3] "\033[7;33;44mwith \033[4mdark itentions \033[0m" 139s 2/14 interactions.R: strtrim2_sgr(wrp.0, 20, carry = "\033[33m") 139s [1] "\033[33monce upon \033[44ma time in \033[0m" 139s [2] "\033[33;44mthe mountains and \033[7m s\033[0m" 139s [3] "\033[7;33;44mwith \033[4mdark itentions \033[0m" 139s 2/14 interactions.R: wrp.1 <- c("once upon \033[44ma time in a land far away ov 139s 2/14 interactions.R: strtrim_ctl(wrp.0, 20, carry = "\033[33m") 139s [1] "\033[33monce upon \033[44ma time in \033[0m" 139s [2] "\033[33;44mthe mountains and \033[7m s\033[0m" 139s [3] "\033[7;33;44mwith \033[4mdark itentions \033[0m" 139s 2/14 interactions.R: wrp.2 <- c("hello \033[42mworld", "goodnight\033[49m moon" 139s 2/14 interactions.R: strwrap_ctl(wrp.2, 10, carry = "\033[35m", simplify = FALS 139s [[1]] 139s [1] "\033[35mhello\033[0m" "\033[35;42mworld\033[0m" 139s 139s [[2]] 139s [1] "\033[35;42mgoodnight\033[0m" "\033[35mmoon\033[0m" 139s 139s [[3]] 139s [1] "\033[35moh \033[39mboy" 139s 139s 2/14 interactions.R: strwrap_ctl(wrp.2, 10, carry = "\033[35m", simplify = FALS 139s [[1]] 139s [1] "hello" "\033[42mworld" 139s 139s [[2]] 139s [1] "goodnight" "\033[0;35mmoon" 139s 139s [[3]] 139s [1] "oh \033[39mboy" 139s 139s 2/14 interactions.R: unitizer_sect("normalize", { 139s 2/14 interactions.R: str.2 <- c("\033[44mhello", "wo\033[mrld", "barrow") 139s 2/14 interactions.R: normalize_state(str.2) 139s [1] "\033[44mhello" "world" "barrow" 139s 2/14 interactions.R: normalize_state(str.2, carry = TRUE) 139s [1] "\033[44mhello" "wo\033[49mrld" "barrow" 139s 2/14 interactions.R: normalize_state(str.2, carry = "\033[33m") 139s [1] "\033[44mhello" "wo\033[39m\033[49mrld" "barrow" 139s 2/14 interactions.R: unitizer_sect("carry corner cases", { 139s 2/14 interactions.R: substr_ctl("", 2, 3, carry = "\033[33m") 139s [1] "" 139s 2/14 interactions.R: substr_ctl("", 2, 3, carry = "\033[33m", terminate = FALSE 139s [1] "" 139s 2/14 interactions.R: substr_ctl("\033[39m", 2, 3, carry = "\033[33m", terminate 139s [1] "\033[0m" 139s 2/14 interactions.R: substr_ctl("\033[39m", 2, 3, carry = "\033[33m", terminate 139s [1] "\033[39m" 139s 2/14 interactions.R: substr_ctl("", 0, 1, carry = "\033[33m") 139s [1] "" 139s 2/14 interactions.R: substr_ctl("", 0, 1, carry = "\033[33m", terminate = FALSE 139s [1] "" 139s 2/14 interactions.R: substr_ctl("\033[39m", 0, 1, carry = "\033[33m", terminate 139s [1] "\033[0m" 139s 2/14 interactions.R: substr_ctl("\033[39m", 0, 1, carry = "\033[33m", terminate 139s [1] "\033[39m" 139s 2/14 interactions.R: substr_ctl("", 0, 0, carry = "\033[33m") 139s [1] "" 139s 2/14 interactions.R: substr_ctl("", 0, 0, carry = "\033[33m", terminate = FALSE 139s [1] "" 139s 2/14 interactions.R: substr_ctl("\033[39m", 0, 0, carry = "\033[33m", terminate 139s [1] "" 139s 2/14 interactions.R: substr_ctl(character(), 2, 4, carry = "\033[33m") 139s character(0) 139s 2/14 interactions.R: substr_ctl(NA, 2, 4, carry = "\033[33m") 139s [1] NA 139s 2/14 interactions.R: substr_ctl(environment(), 2, 4, carry = "\033[33m") 139s Error in as.character(args[["x"]]) : 139s cannot coerce type 'environment' to vector of type 'character' 139s Calls: unitize_dir ... withVisible -> substr_ctl -> substr2_ctl -> VAL_IN_ENV 139s 2/14 interactions.R: substr_ctl("hello", 2, 4, carry = c("\033[33m", "\033[44m" 139s Error in substr2_ctl(x = x, start = start, stop = stop, warn = warn, term.cap = term.cap, : 139s Argument `carry` must be scalar. 139s Calls: unitize_dir ... withVisible -> substr_ctl -> substr2_ctl -> VAL_IN_ENV -> stop2 139s 2/14 interactions.R: substr_ctl(str.0, 2, 4, carry = NA_character_) 139s Error in substr2_ctl(x = x, start = start, stop = stop, warn = warn, term.cap = term.cap, : 139s Argument `carry` may not be NA. 139s Calls: unitize_dir ... withVisible -> substr_ctl -> substr2_ctl -> VAL_IN_ENV -> stop2 139s 2/14 interactions.R: substr_ctl(str.0, 2, 4, carry = character()) 139s Error in substr2_ctl(x = x, start = start, stop = stop, warn = warn, term.cap = term.cap, : 139s Argument `carry` must be scalar. 139s Calls: unitize_dir ... withVisible -> substr_ctl -> substr2_ctl -> VAL_IN_ENV -> stop2 139s 2/14 interactions.R: substr_ctl(str.0, 2, 4, carry = 1) 139s Error in substr2_ctl(x = x, start = start, stop = stop, warn = warn, term.cap = term.cap, : 139s Argument `carry` must be logical or character. 139s Calls: unitize_dir ... withVisible -> substr_ctl -> substr2_ctl -> VAL_IN_ENV -> stop2 139s 2/14 interactions.R: substr_ctl(str.0, 2, 4, carry = Inf) 139s Error in substr2_ctl(x = x, start = start, stop = stop, warn = warn, term.cap = term.cap, : 139s Argument `carry` must be logical or character. 139s Calls: unitize_dir ... withVisible -> substr_ctl -> substr2_ctl -> VAL_IN_ENV -> stop2 140s 2/14 interactions.R: sgrs <- c("A\033[31mB", "C\033[1mD", "E\033[4mF", "G\033[1 140s 2/14 interactions.R: substr_ctl(sgrs, 2, 2, carry = TRUE) 140s [1] "\033[31mB\033[0m" "\033[1;31mD\033[0m" 140s [3] "\033[1;4;31mF\033[0m" "\033[1;4;31;13mH\033[0m" 140s [5] "\033[1;4;31;62;13mJ\033[0m" "\033[1;4;62;13mL\033[0m" 140s [7] "\033[1;4;52;62;13mN\033[0m" "\033[1;4;52;13mP\033[0m" 140s [9] "\033[4;52;13mR\033[0m" "\033[52;13mT\033[0m" 140s [11] "\033[13mU\033[0m" "W" 140s 2/14 interactions.R: normalize_state(str.2, carry = NA_character_) 140s Error in normalize_state(str.2, carry = NA_character_) : 140s Argument `carry` may not be NA. 140s Calls: unitize_dir ... withVisible -> normalize_state -> VAL_IN_ENV -> stop2 140s 2/14 interactions.R: normalize_state(str.2, carry = character()) 140s Error in normalize_state(str.2, carry = character()) : 140s Argument `carry` must be scalar. 140s Calls: unitize_dir ... withVisible -> normalize_state -> VAL_IN_ENV -> stop2 140s 2/14 interactions.R: normalize_state(str.2, carry = 1) 140s Error in normalize_state(str.2, carry = 1) : 140s Argument `carry` must be logical or character. 140s Calls: unitize_dir ... withVisible -> normalize_state -> VAL_IN_ENV -> stop2 140s 2/14 interactions.R: normalize_state(str.2, carry = Inf) 140s Error in normalize_state(str.2, carry = Inf) : 140s Argument `carry` must be logical or character. 140s Calls: unitize_dir ... withVisible -> normalize_state -> VAL_IN_ENV -> stop2 140s 2/14 interactions.R: strwrap_ctl(wrp.0, 20, carry = NA_character_) 140s Error in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 140s Argument `carry` may not be NA. 140s Calls: unitize_dir ... withVisible -> strwrap_ctl -> strwrap2_ctl -> VAL_IN_ENV -> stop2 140s 2/14 interactions.R: strwrap_sgr(wrp.0, 20, carry = character()) 140s 2/14 interactions.R: strwrap2_ctl(wrp.0, 20, carry = 1) 140s Error in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 140s Argument `carry` must be scalar. 140s Calls: unitize_dir ... strwrap_sgr -> strwrap_ctl -> strwrap2_ctl -> VAL_IN_ENV -> stop2 140s Error in strwrap2_ctl(wrp.0, 20, carry = 1) : 140s Argument `carry` must be logical or character. 140s Calls: unitize_dir ... eval -> withVisible -> strwrap2_ctl -> VAL_IN_ENV -> stop2 140s 2/14 interactions.R: strwrap2_sgr(wrp.0, 20, carry = Inf) 140s Error in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 140s Argument `carry` must be logical or character. 140s Calls: unitize_dir ... strwrap2_sgr -> strwrap2_ctl -> VAL_IN_ENV -> stop2 140s 2/14 interactions.R: strwrap_ctl(c("\033[33mA \033[4mB", "\033[44mC D"), carry 140s [1] "\033[33mA\033[0m" "\033[4;33mB\033[0m" "\033[4;33;44mC\033[0m" 140s [4] "\033[4;33;44mD\033[0m" 140s 2/14 interactions.R: unitizer_sect("terminate", { 140s 2/14 interactions.R: str.0 <- c("hel\033[33m", "wo\033[44mrld") 140s 2/14 interactions.R: substr_ctl(str.0, 2, 5, terminate = FALSE) 140s [1] "el\033[33m" "o\033[44mrld" 140s 2/14 interactions.R: substr_sgr(str.0, 2, 5, terminate = FALSE) 140s [1] "el\033[33m" "o\033[44mrld" 140s 2/14 interactions.R: substr2_ctl(str.0, 2, 5, terminate = FALSE) 140s [1] "el\033[33m" "o\033[44mrld" 140s 2/14 interactions.R: substr2_sgr(str.0, 2, 5, terminate = FALSE) 140s [1] "el\033[33m" "o\033[44mrld" 140s 2/14 interactions.R: strwrap_ctl(wrp.0, 20, terminate = FALSE) 140s [1] "once upon \033[44ma time in" "a land far away" 140s [3] "over" "the mountains and" 140s [5] "\033[7msea lived a fair" "creature" 140s [7] "with \033[4mdark itentions" "and a yappy dog." 140s 2/14 interactions.R: strwrap_sgr(wrp.0, 20, terminate = FALSE) 140s [1] "once upon \033[44ma time in" "a land far away" 140s [3] "over" "the mountains and" 140s [5] "\033[7msea lived a fair" "creature" 140s [7] "with \033[4mdark itentions" "and a yappy dog." 140s 2/14 interactions.R: strwrap2_ctl(wrp.0, 20, terminate = FALSE) 140s [1] "once upon \033[44ma time in" "a land far away" 140s [3] "over" "the mountains and" 140s [5] "\033[7msea lived a fair" "creature" 140s [7] "with \033[4mdark itentions" "and a yappy dog." 140s 2/14 interactions.R: strwrap2_sgr(wrp.0, 20, terminate = FALSE) 140s [1] "once upon \033[44ma time in" "a land far away" 140s [3] "over" "the mountains and" 140s [5] "\033[7msea lived a fair" "creature" 140s [7] "with \033[4mdark itentions" "and a yappy dog." 140s 2/14 interactions.R: strtrim_ctl(wrp.0, 20, terminate = FALSE) 140s [1] "once upon \033[44ma time in " "the mountains and \033[7m s" 140s [3] "with \033[4mdark itentions " 140s 2/14 interactions.R: strtrim_sgr(wrp.0, 20, terminate = FALSE) 140s [1] "once upon \033[44ma time in " "the mountains and \033[7m s" 140s [3] "with \033[4mdark itentions " 140s 2/14 interactions.R: strtrim2_ctl(wrp.0, 20, terminate = FALSE) 140s [1] "once upon \033[44ma time in " "the mountains and \033[7m s" 140s [3] "with \033[4mdark itentions " 140s 2/14 interactions.R: strtrim2_sgr(wrp.0, 20, terminate = FALSE) 140s [1] "once upon \033[44ma time in " "the mountains and \033[7m s" 140s [3] "with \033[4mdark itentions " 140s 2/14 interactions.R: strtrim2_sgr(wrp.0, 20, terminate = NA) 140s Error in strtrim2_ctl(x = x, width = width, warn = warn, tabs.as.spaces = tabs.as.spaces, : 140s Argument `terminate` must be TRUE or FALSE 140s Calls: unitize_dir ... strtrim2_sgr -> strtrim2_ctl -> VAL_IN_ENV -> stop2 140s 2/14 interactions.R: unitizer_sect("bridge", { 140s 2/14 interactions.R: fansi:::bridge("\033[42m", "\033[31m") 140s [1] "\033[0;31m" 140s 2/14 interactions.R: fansi:::bridge("\033[42m", "\033[31m", normalize = TRUE) 140s [1] "\033[49m\033[31m" 140s 2/14 interactions.R: fansi:::bridge("", "\033[31m") 140s [1] "\033[31m" 140s 2/14 interactions.R: fansi:::bridge("\033[42m", "") 140s [1] "\033[0m" 140s 2/14 interactions.R: fansi:::bridge("\033[42m", "\033[42m") 140s [1] "" 140s 2/14 interactions.R: end <- c("\033[31", "\033[41m", NA_character_, "\033[44m") 140s 2/14 interactions.R: restart <- c("", NA_character_, "\033[45m", "\033[45m") 140s 2/14 interactions.R: fansi:::bridge(end, restart) 140s [1] "" "" "" "\033[45m" 140s 2/14 interactions.R: base.st <- "%s\033]8;%s;%s\033\\" 140s 2/14 interactions.R: url <- "https://x.yz" 140s 2/14 interactions.R: u0 <- sprintf(base.st, "", "", url) 140s 2/14 interactions.R: fansi:::bridge(paste0("\033[42m", u0), "\033[31m") 140s [1] "\033[0;31m\033]8;;\033\\" 140s 2/14 interactions.R: fansi:::bridge("\033[31m", paste0("\033[42m", u0)) 140s [1] "\033[0;42m\033]8;;https://x.yz\033\\" 140s 2/14 interactions.R: txt <- c("A\033[31mBC", "D\033[39mE\033[42mF") 140s 2/14 interactions.R: `substr_ctl<-`(txt, 2, 2, value = "?", normalize = TRUE, c 140s [1] "A?\033[31mC" "D\033[39m?\033[42mF" 140s 2/14 interactions.R: unitizer_sect("at end / close", { 140s 2/14 interactions.R: x <- c("a\033[31mb", "c", "\033[42md") 140s 2/14 interactions.R: state_at_end(x) 140s [1] "\033[31m" "" "\033[42m" 140s 2/14 interactions.R: state_at_end(x, carry = TRUE) 140s [1] "\033[31m" "\033[31m" "\033[31;42m" 140s 2/14 interactions.R: state_at_end(x, carry = TRUE, normalize = TRUE) 140s [1] "\033[31m" "\033[31m" "\033[31m\033[42m" 140s 2/14 interactions.R: state_at_end("a\033[pb") 140s Warning in state_at_end("a\033[pb") : 140s 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. 140s [1] "" 140s 2/14 interactions.R: state_at_end("a\033[pb", warn = FALSE) 140s [1] "" 140s 2/14 interactions.R: state_at_end(c("\033[42mA", NA_character_, "\033[31mA")) 140s [1] "\033[42m" NA "\033[31m" 140s 2/14 interactions.R: state_at_end(c("\033[42mA", NA_character_, "\033[31mA"), c 140s [1] "\033[42m" NA NA 140s 2/14 interactions.R: close_state(x) 140s [1] "\033[0m" "" "\033[0m" 140s 2/14 interactions.R: close_state(x, normalize = TRUE) 140s [1] "\033[39m" "" "\033[49m" 140s 2/14 interactions.R: close_state("a\033[pb") 140s [1] "" 140s Warning in close_state("a\033[pb") : 140s 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. 140s 2/14 interactions.R: close_state("a\033[pb", warn = FALSE) 140s [1] "" 140s 2/14 interactions.R: state_no_arg <- function(x) { 140s 2/14 interactions.R: x <- "\360" 140s 2/14 interactions.R: Encoding(x) <- "UTF-8" 140s 2/14 interactions.R: state_no_arg(x) 140s [1] "Encountered a malformed UTF-8 sequence at index [1], see `?unhandled_ctl`." 140s 2/14 interactions.R: y <- "\033[45phello" 140s 2/14 interactions.R: state_no_arg(y) 140s [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." 140s 140s 3/14 misc.R: 140s 3/14 misc.R: library(unitizer) 140s 3/14 misc.R: library(fansi) 140s 3/14 misc.R: unitizer_sect("term_cap_test", { 140s 3/14 misc.R: tct <- term_cap_test() 140s bright  -> \033[91;104mbright \033[0m 140s 256  -> \033[38;5;196;48;5;21m256 \033[0m 140s truecolor -> \033[38;2;255;0;0;48;2;0;0;255mtruecolor\033[0m 140s 3/14 misc.R: tct 140s [1] "\033[91;104mbright \033[0m" 140s [2] "\033[38;5;196;48;5;21m256 \033[0m" 140s [3] "\033[38;2;255;0;0;48;2;0;0;255mtruecolor\033[0m" 140s 3/14 misc.R: fansi_lines(LETTERS, step = 6) 140s [1] "\033[37;48;5;23mA\033[39;49m" "\033[37;48;5;29mB\033[39;49m" 140s [3] "\033[30;48;5;35mC\033[39;49m" "\033[30;48;5;41mD\033[39;49m" 140s [5] "\033[30;48;5;47mE\033[39;49m" "\033[37;48;5;53mF\033[39;49m" 140s [7] "\033[37;48;5;59mG\033[39;49m" "\033[37;48;5;65mH\033[39;49m" 140s [9] "\033[30;48;5;71mI\033[39;49m" "\033[30;48;5;77mJ\033[39;49m" 140s [11] "\033[30;48;5;83mK\033[39;49m" "\033[37;48;5;89mL\033[39;49m" 140s [13] "\033[37;48;5;95mM\033[39;49m" "\033[37;48;5;101mN\033[39;49m" 140s [15] "\033[30;48;5;107mO\033[39;49m" "\033[30;48;5;113mP\033[39;49m" 140s [17] "\033[30;48;5;119mQ\033[39;49m" "\033[37;48;5;125mR\033[39;49m" 140s [19] "\033[37;48;5;131mS\033[39;49m" "\033[37;48;5;137mT\033[39;49m" 140s [21] "\033[30;48;5;143mU\033[39;49m" "\033[30;48;5;149mV\033[39;49m" 140s [23] "\033[30;48;5;155mW\033[39;49m" "\033[37;48;5;161mX\033[39;49m" 140s [25] "\033[37;48;5;167mY\033[39;49m" "\033[37;48;5;173mZ\033[39;49m" 140s 3/14 misc.R: local({ 140s [1] "" "a" 140s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 140s 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. 140s 3/14 misc.R: unitizer_sect("add_int", { 140s 3/14 misc.R: fansi:::add_int(1, 1) 140s [1] 2 140s 3/14 misc.R: fansi:::add_int(2^31 - 1, 1) 140s Error in fansi:::add_int(2^31 - 1, 1) : 140s Integer overflow in file utils.c at line 99; contact maintainer. 140s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> 140s 3/14 misc.R: fansi:::add_int(2^31 - 1, 0) 140s [1] 2147483647 140s 3/14 misc.R: fansi:::add_int(-2^31 + 1, 0) 140s [1] -2147483647 140s 3/14 misc.R: fansi:::add_int(-2^31 + 1, -1) 140s Error in fansi:::add_int(-2^31 + 1, -1) : 140s Integer overflow in file utils.c at line 99; contact maintainer. 140s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> 140s 3/14 misc.R: unitizer_sect("unhandled", { 140s 3/14 misc.R: string.0 <- c("\033[41mhello world\033[m", "foo\033[22>m", "\033[9 140s 3/14 misc.R: unhandled_ctl(string.0) 140s index start stop error translated esc 140s 1 2 4 9 invalid-substr FALSE \033[22>m 140s 2 3 1 6 invalid-substr FALSE \033[999m 140s 3 4 5 11 invalid-substr FALSE \033[31#3m 140s 4 5 2 6 non-SGR/hyperlink FALSE \033[31k 140s 5 6 6 7 non-CSI/OSC FALSE \033m 140s 3/14 misc.R: string.1 <- c("foo\033[22>mhello\033[9999m", "a\033[31k", "hello\0 140s 3/14 misc.R: unhandled_ctl(string.1) 140s index start stop error translated esc 140s 1 1 4 9 invalid-substr FALSE \033[22>m 140s 2 1 15 21 invalid-substr FALSE \033[9999m 140s 3 2 2 6 non-SGR/hyperlink FALSE \033[31k 140s 4 3 6 7 non-CSI/OSC FALSE \033m 140s 5 3 9 14 unknown-substr FALSE \033[180m 140s 6 3 21 21 malformed-ESC FALSE \033 140s 3/14 misc.R: unhandled_ctl("hello\033\033\033[45p wor\ald") 140s index start stop error translated esc 140s 1 1 6 7 malformed-ESC FALSE \033\033 140s 2 1 8 12 non-SGR/hyperlink FALSE \033[45p 140s 3 1 17 17 C0 FALSE \a 140s 3/14 misc.R: unhandled_ctl("\033[38;5;220mworld\033[m", "bright") 140s index start stop error translated esc 140s 1 1 1 11 exceed-term-cap FALSE \033[38;5;220m 140s 3/14 misc.R: unhandled_ctl("\033[38;2;10;20;30mworld\033[m", "bright") 140s index start stop error translated esc 140s 1 1 1 16 exceed-term-cap FALSE \033[38;2;10;20;30m 140s 3/14 misc.R: unhandled_ctl("\033[38;2;10;20;30mworld\033[m", "bri") 140s Error in unhandled_ctl("\033[38;2;10;20;30mworld\033[m", "bri") : 140s Argument `term.cap` may only contain values in c("all", "bright", "256", "truecolor", "old") 140s Calls: unitize_dir ... withVisible -> unhandled_ctl -> VAL_IN_ENV -> stop2 140s 3/14 misc.R: unhandled_ctl("\033[38;2;10;20;30mworld\033[m", NULL) 140s 3/14 misc.R: unhandled_ctl("AB\033[34m\033]9\033\\\033[1m\033[2LCD") 140s index start stop error translated esc 140s 1 1 17 20 non-SGR/hyperlink FALSE \033[2L 140s Error in unhandled_ctl("\033[38;2;10;20;30mworld\033[m", NULL) : 140s Argument `term.cap` must be character. 140s Calls: unitize_dir ... withVisible -> unhandled_ctl -> VAL_IN_ENV -> stop2 140s 3/14 misc.R: unhandled_ctl("AB\033[34m\033]9\033[1m\033[2LCD") 140s index start stop error translated esc 140s 1 1 8 20 malformed-CSI/OSC FALSE \033]9\033[1m\033[2LCD 140s 3/14 misc.R: unhandled_ctl("A\033[45#1pB\033[256pC\033[256mD") 140s index start stop error translated esc 140s 1 1 2 8 CSI/OSC-bad-substr FALSE \033[45#1p 140s 2 1 10 15 non-SGR/hyperlink FALSE \033[256p 140s 3 1 17 22 invalid-substr FALSE \033[256m 140s 3/14 misc.R: unhandled_ctl("\033[38m") 140s index start stop error translated esc 140s 1 1 1 5 invalid-substr FALSE \033[38m 140s 3/14 misc.R: unitizer_sect("strtrim", { 140s 3/14 misc.R: strtrim_ctl(" hello world", 7) 140s [1] " hello " 140s 3/14 misc.R: strtrim_ctl("\033[42m hello world\033[m", 7) 140s [1] "\033[42m hello \033[0m" 140s 3/14 misc.R: strtrim_ctl(" hello\nworld", 7) 140s [1] " hello\nw" 140s 3/14 misc.R: strtrim_ctl("\033[42m hello\nworld\033[m", 7) 140s [1] "\033[42m hello\nw\033[0m" 140s 3/14 misc.R: strtrim_ctl("\nhello\nworld", 7) 140s [1] "\nhello\nwo" 140s 3/14 misc.R: strtrim_ctl("\033[42m\nhello\nworld\033[m", 7) 140s [1] "\033[42m\nhello\nwo\033[0m" 140s 3/14 misc.R: strtrim_ctl("\thello\rworld foobar", 12) 140s Warning in strtrim2_ctl(x = x, width = width, warn = warn, ctl = ctl, normalize = normalize, : 140s Argument `x` contains a C0 control character at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 140s [1] "\thello\rworld f" 140s 3/14 misc.R: strtrim_ctl("\033[42m\thello\rworld\033[m foobar", 12) 140s Warning in strtrim2_ctl(x = x, width = width, warn = warn, ctl = ctl, normalize = normalize, : 140s Argument `x` contains a C0 control character at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 140s [1] "\033[42m\thello\rworld\033[m f" 140s 3/14 misc.R: strtrim2_ctl("\033[42m\thello world\033[m foobar", 12, tabs.as.spa 140s [1] "\033[42m hell\033[0m" 140s 3/14 misc.R: strtrim_sgr("\033[42m\the\allo world\033[m foobar", 12, warn = FAL 140s [1] "\033[42m\the\allo worl\033[0m" 140s 3/14 misc.R: strtrim2_sgr("\033[42m\the\allo world\033[m foobar", 12, tabs.as.s 140s [1] "\033[42m he\allo wor\033[0m" 140s 3/14 misc.R: identical(strtrim_ctl(c("AB", NA_character_, "CD"), 1), strtrim(c( 140s [1] TRUE 140s 3/14 misc.R: strtrim_ctl(c("AB", NA_character_, "CD"), 1, carry = TRUE) 140s [1] "A" NA NA 140s 3/14 misc.R: hello2.0 <- "\033[42m\thello world\033[m foobar" 140s 3/14 misc.R: strtrim_ctl(1:3, width = 10) 140s [1] "1" "2" "3" 140s 3/14 misc.R: strtrim_ctl(hello2.0, width = "35") 140s Error in strtrim2_ctl(x = x, width = width, warn = warn, ctl = ctl, normalize = normalize, : 140s Argument `width` must be a positive scalar numeric representable as an integer. 140s Calls: unitize_dir ... eval -> eval -> withVisible -> strtrim_ctl -> strtrim2_ctl 140s Error in strtrim2_ctl(x = x, width = width, warn = warn, ctl = ctl, normalize = normalize, : 140s Argument `width` must be a positive scalar numeric representable as an integer. 140s Calls: unitize_dir ... eval -> eval -> withVisible -> strtrim_ctl -> strtrim2_ctl 140s Error in strtrim2_ctl(x = x, width = width, warn = warn, ctl = ctl, normalize = normalize, : 140s Argument `warn` must be TRUE or FALSE. 140s Calls: unitize_dir ... withVisible -> strtrim_ctl -> strtrim2_ctl -> VAL_IN_ENV -> stop2 140s Error in strtrim2_ctl(x = x, width = width, warn = warn, ctl = ctl, normalize = normalize, : 140s Argument `ctl` must be character. 140s Calls: unitize_dir ... withVisible -> strtrim_ctl -> strtrim2_ctl -> VAL_IN_ENV -> stop2 140s Error in strtrim2_ctl(x = x, width = width, warn = warn, ctl = ctl, normalize = normalize, : 140s Argument `ctl` may contain only values in `c("all", "nl", "c0", "sgr", "csi", "esc", "url", "osc")` 140s Calls: unitize_dir ... withVisible -> strtrim_ctl -> strtrim2_ctl -> VAL_IN_ENV -> stop2 140s Error in strtrim2_ctl(hello2.0, width = "35") : 140s Argument `width` must be a positive scalar numeric representable as an integer. 140s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> strtrim2_ctl 140s 3/14 misc.R: strtrim_ctl(hello2.0, width = NA_integer_) 140s 3/14 misc.R: strtrim_ctl(hello2.0, width = 10, warn = NULL) 140s 3/14 misc.R: strtrim_ctl(hello2.0, width = 10, ctl = 0) 140s 3/14 misc.R: strtrim_ctl(hello2.0, width = 10, ctl = "bananas") 140s 3/14 misc.R: strtrim2_ctl(1:3, width = 10) 140s [1] "1" "2" "3" 140s 3/14 misc.R: strtrim2_ctl(hello2.0, width = "35") 140s Error in strtrim2_ctl(hello2.0, width = NA_integer_) : 140s Argument `width` must be a positive scalar numeric representable as an integer. 140s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> strtrim2_ctl 140s 3/14 misc.R: strtrim2_ctl(hello2.0, width = NA_integer_) 140s 3/14 misc.R: strtrim2_ctl(hello2.0, width = 10, warn = NULL)Error in strtrim2_ctl(hello2.0, width = 10, warn = NULL) : 140s Argument `warn` must be TRUE or FALSE. 140s Calls: unitize_dir ... eval -> withVisible -> strtrim2_ctl -> VAL_IN_ENV -> stop2 140s 140s 3/14 misc.R: strtrim2_ctl(hello2.0, width = 10, tabs.as.spaces = NA) 140s Error in strtrim2_ctl(hello2.0, width = 10, tabs.as.spaces = NA) : 140s Argument `tabs.as.spaces` must be TRUE or FALSE. 140s Calls: unitize_dir ... eval -> withVisible -> strtrim2_ctl -> VAL_IN_ENV -> stop2 140s 3/14 misc.R: strtrim2_ctl(hello2.0, width = 10, tabs.as.spaces = 1:3) 140s Error in strtrim2_ctl(hello2.0, width = 10, tabs.as.spaces = 1:3) : 140s Argument `tabs.as.spaces` must be TRUE or FALSE. 140s Calls: unitize_dir ... eval -> withVisible -> strtrim2_ctl -> VAL_IN_ENV -> stop2 140s 3/14 misc.R: strtrim2_ctl(hello2.0, width = 10, tab.stops = -(1:3)) 140s Error in strtrim2_ctl(hello2.0, width = 10, tab.stops = -(1:3)) : 140s Argument `tab.stops` must be numeric, strictly positive, and representable as an integer. 140s Calls: unitize_dir ... eval -> withVisible -> strtrim2_ctl -> VAL_IN_ENV -> stop2 140s 3/14 misc.R: strtrim2_ctl(hello2.0, width = 10, tab.stops = 0) 140s Error in strtrim2_ctl(hello2.0, width = 10, tab.stops = 0) : 140s Argument `tab.stops` must be numeric, strictly positive, and representable as an integer. 140s Calls: unitize_dir ... eval -> withVisible -> strtrim2_ctl -> VAL_IN_ENV -> stop2 140s Error in strtrim2_ctl(hello2.0, width = 10, ctl = 0) : 140s Argument `ctl` must be character. 140s Calls: unitize_dir ... eval -> withVisible -> strtrim2_ctl -> VAL_IN_ENV -> stop2 140s 3/14 misc.R: strtrim2_ctl(hello2.0, width = 10, ctl = 0) 140s 3/14 misc.R: strtrim2_ctl(hello2.0, width = 10, ctl = "bananas") 140s Error in strtrim2_ctl(hello2.0, width = 10, ctl = "bananas") : 140s Argument `ctl` may contain only values in `c("all", "nl", "c0", "sgr", "csi", "esc", "url", "osc")` 140s Calls: unitize_dir ... eval -> withVisible -> strtrim2_ctl -> VAL_IN_ENV -> stop2 140s 3/14 misc.R: unitizer_sect("enc check", { 140s 3/14 misc.R: x <- y <- "He\237" 140s 3/14 misc.R: Encoding(x) <- "latin1" 140s 3/14 misc.R: fansi:::check_enc(x, 1)Error in fansi:::check_enc(x, 1) : 140s Internal Error: unexpected encoding 2 encountered at index 1. Contact maintainer. 140s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> 140s 140s 3/14 misc.R: Encoding(y) <- "bytes" 140s 3/14 misc.R: fansi:::check_enc(y, 1) 140s Error in fansi:::check_enc(y, 1) : 140s Byte encoded string encountered at index 1. Byte encoded strings are not supported. 140s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> 140s 3/14 misc.R: fansi:::check_enc("hello", 1) 140s [1] TRUE 140s 3/14 misc.R: unitizer_sect("what as int", { 140s 3/14 misc.R: fansi:::ctl_as_int(c(1, 2, 3, 4, 5)) 140s [1] 112 140s 3/14 misc.R: fansi:::ctl_as_int(c(2, 3, 4, 5)) 140s [1] 15 140s 3/14 misc.R: fansi:::ctl_as_int(c(1, 2, 3, 9))Error in fansi:::ctl_as_int(c(1, 2, 3, 9)) : 140s Internal Error: max ctl value allowed is 6. 140s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> 140s 140s 3/14 misc.R: fansi:::ctl_as_int(c(2, 3, 9)) 140s Error in fansi:::ctl_as_int(c(2, 3, 9)) : 140s Internal Error: max ctl value allowed is 6. 140s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> 140s 3/14 misc.R: unitizer_sect("HTML helper", { 140s 3/14 misc.R: html_esc(character()) 140s character(0) 140s Error in html_esc(1:10) : Argument `x` must be character, is integer. 140s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> html_esc 140s 3/14 misc.R: html_esc(1:10) 140s 3/14 misc.R: html_esc(NA_character_) 140s [1] NA 140s 3/14 misc.R: html_esc("") 140s [1] "<he&llo>" 141s 3/14 misc.R: html_esc("ow&wo") 141s [1] "ow&wo" 141s 3/14 misc.R: html_esc(c("hello", "wors", NA, "")) 141s [1] "hello" "wor<ld>s" NA "" 141s 3/14 misc.R: html_esc(c("he'l\"lo", "wors", NA, "")) 141s [1] "he'l"lo" "wor<ld>s" NA 141s [4] "" 141s 3/14 misc.R: html_esc("<<<<") 141s [1] "<<<<" 141s 3/14 misc.R: html_esc("<123hello>") 141s [1] "<123hello>" 141s 3/14 misc.R: txt <- c("day > night", "hello world") 141s 3/14 misc.R: html_code_block(character()) 141s [1] "
" 141s 3/14 misc.R: html_code_block(txt) 141s [1] "
day > night\nhello world
" 141s 3/14 misc.R: html_code_block(1:10) 141s Error in html_code_block(1:10) : 141s Argument `x` must be character, is integer. 141s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> html_code_block 141s 3/14 misc.R: html_code_block(txt, class = c("not-fansi", "plain")) 141s [1] "
day > night\nhello world
" 141s 3/14 misc.R: html_code_block(txt, class = NULL) 141s Error in html_code_block(txt, class = NULL) : 141s Argument `class` must be character, is NULL. 141s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> html_code_block 141s 3/14 misc.R: html_esc(c("h&e'l\"lo", "wors", NA, ""), "<>") 141s [1] "h&e'l\"lo" "wor<ld>s" NA "" 141s 3/14 misc.R: html_esc(c("h&e'l\"lo", "wors", NA, ""), "><") 141s [1] "h&e'l\"lo" "wor<ld>s" NA "" 141s 3/14 misc.R: html_esc(c("h&e'l\"lo", "wors", NA, ""), "<&>") 141s [1] "h&e'l\"lo" "wor<ld>s" NA "" 141s 3/14 misc.R: html_esc(c("h&e'l\"lo", "wors", NA, ""), "'<&>") 141s [1] "h&e'l\"lo" "wor<ld>s" NA 141s [4] "" 141s 3/14 misc.R: html_esc(c("h&e'l\"lo", "wors", NA, ""), "'<&>\"") 141s [1] "h&e'l"lo" "wor<ld>s" NA 141s [4] "" 141s 3/14 misc.R: html_esc(c("h&e'l\"lo", "wors", NA, ""), "'&>\"<") 141s [1] "h&e'l"lo" "wor<ld>s" NA 141s [4] "" 141s 3/14 misc.R: html_esc(c("h&e'l\"lo", "wors", NA, ""), "") 141s [1] "h&e'l\"lo" "wors" NA "" 141s Error in html_esc(c("h&e'l\"lo", "wors", NA, ""), character()) : 141s Argument `what` must be scalar character and not NA. 141s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> html_esc 141s 3/14 misc.R: html_esc(c("h&e'l\"lo", "wors", NA, ""), "'<&>\"<") 141s [1] "h&e'l"lo" "wor<ld>s" NA 141s [4] "" 141s 3/14 misc.R: html_esc(c("h&e'l\"lo", "wors", NA, ""), character()) 141s Error in html_esc(c("h&e'l\"lo", "wors", NA, ""), NA_character_) : 141s Argument `what` must be scalar character and not NA. 141s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> html_esc 141s Error in html_esc(c("h&e'l\"lo", "wors", NA, ""), 1:5) : 141s Argument `what` must be character, is integer. 141s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> html_esc 141s 3/14 misc.R: html_esc(c("h&e'l\"lo", "wors", NA, ""), NA_character_) 141s 3/14 misc.R: html_esc(c("h&e'l\"lo", "wors", NA, ""), 1:5) 141s 3/14 misc.R: html_esc(c("h&e'l\"lo", "wors", NA, ""), "'<&><") 141s [1] "h&e'l\"lo" "wor<ld>s" NA 141s [4] "" 141s 3/14 misc.R: html_esc(c("h&e'l\"lo", "wors", NA, ""), "'x><") 141s Error in html_esc(c("h&e'l\"lo", "wors", NA, ""), "'x><") : 141s Argument `what` may only contain ASCII characters "&", "<", ">", "'", or "\"". 141s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> html_esc 141s 3/14 misc.R: unitizer_sect("hooks", { 141s 3/14 misc.R: h.1 <- list(set = function(...) cat("Set hooks: ", names(list(...) 141s 3/14 misc.R: h.2 <- list(set = function(...) cat("Set hooks: ", names(list(...) 141s Error in set_knit_hooks(list(1, 2)) : 141s Argument `hooks` does not appear to be `knitr::knit_hooks`. 141s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> set_knit_hooks 141s 3/14 misc.R: h.3 <- list(set = function(...) cat("Set hooks: ", names(list(...) 141s 3/14 misc.R: h.4 <- list(set = function(...) stop("error in set"), get = functi 141s 3/14 misc.R: set_knit_hooks(list(1, 2)) 141s 3/14 misc.R: set_knit_hooks(list(function() NULL, function() NULL)) 141s Error in set_knit_hooks(list(function() NULL, function() NULL)) : 141s Argument `hooks` does not appear to be `knitr::knit_hooks`. 141s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> set_knit_hooks 141s 3/14 misc.R: res1 <- set_knit_hooks(h.1, .test = TRUE) 141s Set hooks: output 141s 141s 3/14 misc.R: res1[["new.hooks"]][["output"]]("hello") 141s [1] "old.hook" 141s 3/14 misc.R: res1[["new.hooks"]][["output"]]("hello\033[31m world") 141s [1] "
hello world
" 141s 3/14 misc.R: res1a <- set_knit_hooks(h.1, split.nl = TRUE, .test = TRUE) 141s Set hooks: output 141s 141s 3/14 misc.R: res1a[["new.hooks"]][["output"]]("hello\033[31m wo\nrld") 141s [1] "
hello wo\nrld
" 141s 3/14 misc.R: p.f.2 <- function(x, y) NULL 141s 3/14 misc.R: p.f.3 <- function(x, class) sprintf("new proc fun, '%s'", class) 141s 3/14 misc.R: p.f.4 <- function(x, class) stop("new proc fun") 141s Error in set_knit_hooks(h.1, split.nl = "banana") : 141s Argument `split.n` must be TRUE or FALSE 141s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> set_knit_hooks 141s 3/14 misc.R: set_knit_hooks(h.1, split.nl = "banana") 141s 3/14 misc.R: set_knit_hooks(h.1, proc.fun = p.f.2) 141s Error in set_knit_hooks(h.1, proc.fun = p.f.2) : 141s Argument `proc.fun` must be a function with formals named `x` and `class`. 141s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> set_knit_hooks 141s 3/14 misc.R: set_knit_hooks(h.1, which = "hello") 141s Error in set_knit_hooks(h.1, which = "hello") : 141s Argument `which` must be character containing values in c("output", "warning", "error", "message") 141s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> set_knit_hooks 141s Error in set_knit_hooks(h.1, which = NULL) : 141s Argument `which` must be character containing values in c("output", "warning", "error", "message") 141s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> set_knit_hooks 141s 3/14 misc.R: set_knit_hooks(h.1, which = NULL) 141s 3/14 misc.R: res2 <- set_knit_hooks(h.1, which = c("output", "message"), class 141s Set hooks: output message 141s 141s 3/14 misc.R: res2[["new.hooks"]][["message"]]("hello") 141s [1] "old.hook" 141s 3/14 misc.R: res2[["new.hooks"]][["message"]]("hello\033[31m world") 141s [1] "new proc fun, 'f-message'" 141s 3/14 misc.R: res2[["new.hooks"]][["output"]]("hello\033[31m world") 141s [1] "new proc fun, 'f-output'" 141s 3/14 misc.R: res3 <- set_knit_hooks(h.1, which = c("message", "warning"), 141s Set hooks: message warning 141s 141s 3/14 misc.R: res3[["new.hooks"]][["warning"]]("hello") 141s Error in proc.fun(x = x, class = class) : new proc fun 141s Error in res3[["new.hooks"]][["warning"]]("hello\033[31mworld") : 141s Argument `proc.fun` for `set_knit_hooks` caused an error when processing output; see prior error. 141s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> 141s [1] "old.hook" 141s 3/14 misc.R: res3[["new.hooks"]][["warning"]]("hello\033[31mworld") 141s 3/14 misc.R: set_knit_hooks(h.2) 141s Warning in set_knit_hooks(h.2) : 141s 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 141s Set hooks: output 141s 141s $output 141s NULL 141s 141s Error in hooks$get(hook.name) : error in get 141s Warning in set_knit_hooks(h.3) : 141s 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 141s 3/14 misc.R: set_knit_hooks(h.3) 141s Set hooks: output 141s 141s $output 141s NULL 141s 141s Error in (function (...) : error in set 141s Warning in set_knit_hooks(h.4) : 141s Failure while trying to set hooks; see prior error; are you sure you passed `knitr::knit_hooks` as the `hooks` argument? 141s 3/14 misc.R: set_knit_hooks(h.4) 141s 141s $output 141s function() "old.hook" 141s 141s 141s 3/14 misc.R: set_knit_hooks(h.1, style = NULL) 141s Error in set_knit_hooks(h.1, style = NULL) : 141s Argument `style` must be character. 141s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> set_knit_hooks 141s Error in set_knit_hooks(h.1, class = 1:10) : 141s Argument `class` should be a character vector the same length as `which`. 141s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> set_knit_hooks 141s 3/14 misc.R: set_knit_hooks(h.1, class = 1:10) 141s 3/14 misc.R: set_knit_hooks(h.1, class = letters) 141s Error in set_knit_hooks(h.1, class = letters) : 141s Argument `class` should be a character vector the same length as `which`. 141s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> set_knit_hooks 141s Error in set_knit_hooks(h.1, which = c("output", "message", "output")) : 141s Argument `which` may not contain duplicate values (output). 141s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> set_knit_hooks 141s 3/14 misc.R: set_knit_hooks(h.1, which = c("output", "message", "output")) 141s 3/14 misc.R: unitizer_sect("output funs", { 141s 3/14 misc.R: fansi_lines(1:3) 141s [1] "\033[37;48;5;18m1\033[39;49m" "\033[37;48;5;19m2\033[39;49m" 141s [3] "\033[37;48;5;20m3\033[39;49m" 141s Error in fansi_lines(1:3, step = "hello") : 141s Argument `step` must be a strictly positive scalar integer. 141s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> fansi_lines 141s 3/14 misc.R: fansi_lines(1:3, step = "hello") 141s 3/14 misc.R: capture.output(fwl("\033[43mhello")) 141s [1] "\033[43mhello" "\033[0m" 141s 3/14 misc.R: unitizer_sect("validation", { 141s 3/14 misc.R: fansi:::VAL_IN_ENV(booboo = "error") 141s Error in fansi:::VAL_IN_ENV(booboo = "error") : 141s Internal Error: some arguments to validate unknown 141s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> 141s 141s 4/14 nchar.R: 141s 4/14 nchar.R: library(fansi) 141s 4/14 nchar.R: unitizer_sect("basic tests", { 141s 4/14 nchar.R: nchar_ctl(c("hello", "world")) 141s [1] 5 5 141s 4/14 nchar.R: nchar_ctl(c("hello", "world"), type = "width") 141s [1] 5 5 141s 4/14 nchar.R: nchar_ctl(c("hello", "world"), type = "wi") 141s [1] 5 5 141s 4/14 nchar.R: na.world <- c("hello", NA, "world", "") 141s 4/14 nchar.R: identical(nchar_ctl(na.world), nchar(na.world)) 141s [1] TRUE 141s 4/14 nchar.R: identical(nchar_ctl(na.world, keepNA = FALSE), nchar(na.world, 141s [1] TRUE 141s 4/14 nchar.R: identical(nchar_ctl(na.world, keepNA = NA, type = "width"), nchar 141s [1] TRUE 141s 4/14 nchar.R: identical(nchar_ctl(na.world, keepNA = TRUE, type = "width"), 141s [1] TRUE 141s 4/14 nchar.R: identical(nzchar_ctl(na.world), nzchar(na.world)) 141s [1] TRUE 141s 4/14 nchar.R: identical(nzchar_ctl(na.world, keepNA = TRUE), nzchar(na.world, 141s [1] TRUE 141s 4/14 nchar.R: identical(nzchar_ctl(na.world, keepNA = NA), nzchar(na.world, 141s [1] TRUE 141s 4/14 nchar.R: identical(nchar_ctl(na.world, type = "bytes"), nchar(na.world, 141s [1] TRUE 141s 4/14 nchar.R: identical(nchar_ctl(na.world, keepNA = FALSE, type = "bytes"), 141s [1] TRUE 141s 4/14 nchar.R: identical(nchar_ctl(na.world, keepNA = TRUE, type = "bytes"), 141s [1] TRUE 141s 4/14 nchar.R: w.names <- c(a = "hello", b = "world") 141s 4/14 nchar.R: identical(nchar_ctl(w.names), nchar(w.names)) 141s [1] TRUE 141s 4/14 nchar.R: w.dim <- matrix(letters[1:6], 2, 3, dimnames = list(X = LETTERS[2 141s 4/14 nchar.R: identical(nchar_ctl(w.dim), nchar(w.dim)) 141s [1] TRUE 141s 4/14 nchar.R: hw.sgr <- c("hello", "wo\033[42mrld", "\033[31m", "mo\non", "star 141s 4/14 nchar.R: identical(nchar_ctl(hw.sgr), nchar(strip_ctl(hw.sgr))) 141s [1] TRUE 141s 4/14 nchar.R: x <- "\360" 141s 4/14 nchar.R: if (isTRUE(l10n_info()[["UTF-8"]])) { 141s [1] TRUE 141s 4/14 nchar.R: Encoding(x) <- "UTF-8" 141s 4/14 nchar.R: identical(nzchar_ctl(x), nzchar(x)) 141s [1] TRUE 141s Error in nchar_ctl_internal(x = x, type.int = TYPE.INT, allowNA = allowNA, : 141s Argument `x` contains a malformed UTF-8 sequence at index [1], see `?unhandled_ctl`. 141s Calls: unitize_dir ... eval -> withVisible -> nchar_ctl -> nchar_ctl_internal 141s 4/14 nchar.R: nchar_ctl(x) 141s 4/14 nchar.R: nchar_ctl(c("", x)) 141s Error in nchar_ctl_internal(x = x, type.int = TYPE.INT, allowNA = allowNA, : 141s Argument `x` contains a malformed UTF-8 sequence at index [2], see `?unhandled_ctl`. 141s Calls: unitize_dir ... eval -> withVisible -> nchar_ctl -> nchar_ctl_internal 141s 4/14 nchar.R: identical(nchar_ctl(x, allowNA = TRUE), nchar(x, allowNA = TRUE)) 141s [1] TRUE 141s 4/14 nchar.R: unitizer_sect("with escapes", { 141s 4/14 nchar.R: esc.2 <- "\n\r\033P\033[31m\a" 141s 4/14 nchar.R: nchar_ctl(esc.2) 141s [1] 0 141s 4/14 nchar.R: nchar_ctl(esc.2, warn = FALSE) 141s [1] 0 141s 4/14 nchar.R: nzchar_ctl(esc.2) 141s [1] FALSE 141s 4/14 nchar.R: nzchar_ctl(esc.2, warn = FALSE) 141s [1] FALSE 141s 4/14 nchar.R: nchar_ctl("\033[31#mworld", ctl = "sgr") 141s [1] 5 141s 4/14 nchar.R: nchar_ctl("\033[31#mworld", ctl = "csi") 141s [1] 11 141s 4/14 nchar.R: unitizer_sect("ctl", { 141s 4/14 nchar.R: esc.3 <- "\n\t\033[31m\033[41!m\033p" 141s 4/14 nchar.R: nzchar_ctl(esc.3, warn = FALSE) 141s [1] FALSE 141s 4/14 nchar.R: nzchar_ctl(sprintf("%sa", esc.3), warn = FALSE) 141s [1] TRUE 141s 4/14 nchar.R: nzchar_ctl(esc.3, ctl = c("sgr", "csi", "esc"), warn = FALSE) 141s [1] TRUE 141s 4/14 nchar.R: nzchar_ctl(esc.3, ctl = c("c0", "nl"), warn = FALSE) 141s [1] TRUE 141s 4/14 nchar.R: nzchar_ctl("\n\t\n", ctl = c("nl"), warn = FALSE) 141s [1] TRUE 141s 4/14 nchar.R: nzchar_ctl("\t\n", ctl = c("nl"), warn = FALSE) 141s [1] TRUE 141s 4/14 nchar.R: unitizer_sect("corner cases", { 141s 4/14 nchar.R: ncbad <- c("\033\200", "\033[31;\200m", "\033[31;\200p", "\033]8; 141s 4/14 nchar.R: Encoding(ncbad) <- "UTF-8" 141s 4/14 nchar.R: nchar_ctl(ncbad) 141s [1] 0 0 0 0 0 141s 4/14 nchar.R: fansi:::set_rver(numeric_version("3.2.1")) 141s 4/14 nchar.R: nzchar_ctl(c("\033[31mA", "\033[31m")) 141s [1] TRUE FALSE 141s 4/14 nchar.R: nchar_ctl(c("\033[31mA", "\033[31m")) 141s [1] 1 0 141s 4/14 nchar.R: fansi:::set_rver() 141s 4/14 nchar.R: unitizer_sect("bad inputs", { 141s Error in nchar_ctl(9:10, warn = 1:3) : 141s Argument `warn` must be TRUE or FALSE. 141s Calls: unitize_dir ... eval -> withVisible -> nchar_ctl -> VAL_IN_ENV -> stop2 141s 4/14 nchar.R: nchar_ctl(9:10, warn = 1:3) 141s Error in nchar_ctl("hello\033[31m world", allowNA = 1:3) : 141s Argument `allowNA` must be interpretable as a scalar logical. 141s Calls: unitize_dir ... eval -> withVisible -> nchar_ctl -> VAL_IN_ENV -> stop2 141s 4/14 nchar.R: nchar_ctl("hello\033[31m world", allowNA = 1:3) 141s 4/14 nchar.R: nchar_ctl("hello\033[31m world", keepNA = 1:3) 141s Error in nchar_ctl("hello\033[31m world", keepNA = 1:3) : 141s Argument `keepNA` must be interpretable as a scalar logical. 141s Calls: unitize_dir ... eval -> withVisible -> nchar_ctl -> VAL_IN_ENV -> stop2 141s 4/14 nchar.R: nchar_ctl("hello\033[31m world", strip = 1:3) 141s Parameter `strip` has been deprecated; use `ctl` instead. 141s Error in nchar_ctl("hello\033[31m world", strip = 1:3) : 141s Argument `ctl` must be character. 141s Calls: unitize_dir ... eval -> withVisible -> nchar_ctl -> VAL_IN_ENV -> stop2 141s 4/14 nchar.R: nchar_ctl("hello\033[31m world", ctl = "bananas") 141s Error in nchar_ctl("hello\033[31m world", ctl = "bananas") : 141s Argument `ctl` may contain only values in `c("all", "nl", "c0", "sgr", "csi", "esc", "url", "osc")` 141s Calls: unitize_dir ... eval -> withVisible -> nchar_ctl -> VAL_IN_ENV -> stop2 141s 4/14 nchar.R: nchar_ctl("hello\033[31m world", type = NA_character_) 141s Error in nchar_ctl("hello\033[31m world", type = NA_character_) : 141s Argument `type` must partial match one of c("chars", "width", "graphemes", "bytes") 141s Calls: unitize_dir ... eval -> withVisible -> nchar_ctl -> VAL_IN_ENV -> stop2 141s 4/14 nchar.R: nchar_ctl("hello\033[31m world", type = 1) 141s Error in nchar_ctl("hello\033[31m world", type = 1) : 141s Argument `type` must partial match one of c("chars", "width", "graphemes", "bytes") 141s Calls: unitize_dir ... eval -> withVisible -> nchar_ctl -> VAL_IN_ENV -> stop2 141s 4/14 nchar.R: nchar_ctl("hello\033[31m world", type = "bananas") 141s Error in nchar_ctl("hello\033[31m world", type = "bananas") : 141s Argument `type` must partial match one of c("chars", "width", "graphemes", "bytes") 141s Calls: unitize_dir ... eval -> withVisible -> nchar_ctl -> VAL_IN_ENV -> stop2 141s Error in nzchar_ctl(9:10, warn = 1:3) : 141s Argument `warn` must be TRUE or FALSE. 141s Calls: unitize_dir ... eval -> withVisible -> nzchar_ctl -> VAL_IN_ENV -> stop2 141s 4/14 nchar.R: nzchar_ctl(9:10, warn = 1:3) 141s Error in nzchar_ctl("hello\033[31m world", keepNA = 1:3) : 141s Argument `keepNA` must be interpretable as a scalar logical. 141s Calls: unitize_dir ... eval -> withVisible -> nzchar_ctl -> VAL_IN_ENV -> stop2 141s 4/14 nchar.R: nzchar_ctl("hello\033[31m world", keepNA = 1:3) 141s 4/14 nchar.R: nzchar_ctl("hello\033[31m world", ctl = 1) 141s Error in nzchar_ctl("hello\033[31m world", ctl = 1) : 141s Argument `ctl` must be character. 141s Calls: unitize_dir ... eval -> withVisible -> nzchar_ctl -> VAL_IN_ENV -> stop2 141s Error in nzchar_ctl("hello\033[31m world", ctl = "bananas") : 141s Argument `ctl` may contain only values in `c("all", "nl", "c0", "sgr", "csi", "esc", "url", "osc")` 141s Calls: unitize_dir ... eval -> withVisible -> nzchar_ctl -> VAL_IN_ENV -> stop2 141s 4/14 nchar.R: nzchar_ctl("hello\033[31m world", ctl = "bananas") 141s 142s 5/14 normalize.R: 142s 5/14 normalize.R: library(fansi) 142s 5/14 normalize.R: unitizer_sect("no expansion", { 142s 5/14 normalize.R: normalize_state("A\033[31mB") 142s [1] "A\033[31mB" 142s 5/14 normalize.R: normalize_state("\033[31mAB") 142s [1] "\033[31mAB" 142s 5/14 normalize.R: normalize_state("AB\033[31m") 142s [1] "AB\033[31m" 142s 5/14 normalize.R: normalize_state(c("A\033[31mB", "AB")) 142s [1] "A\033[31mB" "AB" 142s 5/14 normalize.R: normalize_state(c("\033[31mAB", "AB")) 142s [1] "\033[31mAB" "AB" 142s 5/14 normalize.R: normalize_state(c("AB\033[31m", "AB")) 142s [1] "AB\033[31m" "AB" 142s 5/14 normalize.R: unitizer_sect("simple expansion", { 142s 5/14 normalize.R: normalize_state(c("A\033[31;42mB", "AB")) 142s [1] "A\033[31m\033[42mB" "AB" 142s 5/14 normalize.R: normalize_state(c("\033[31;42mAB", "AB")) 142s [1] "\033[31m\033[42mAB" "AB" 142s 5/14 normalize.R: normalize_state(c("AB\033[31;42m", "AB")) 142s [1] "AB\033[31m\033[42m" "AB" 142s 5/14 normalize.R: normalize_state(c("A\033[31;42mB", "A\033[39;4mB")) 142s [1] "A\033[31m\033[42mB" "A\033[4mB" 142s 5/14 normalize.R: normalize_state(c("A\033[31;42mB", "\033[39;4mAB")) 142s [1] "A\033[31m\033[42mB" "\033[4mAB" 142s 5/14 normalize.R: normalize_state(c("AB\033[31;42m", "A\033[39;4mB")) 142s [1] "AB\033[31m\033[42m" "A\033[4mB" 142s 5/14 normalize.R: normalize_state(c("AB\033[31;42m", "A\033[0;4mB")) 142s [1] "AB\033[31m\033[42m" "A\033[4mB" 142s 5/14 normalize.R: normalize_state(c("AB\033[31;42m", "AB\033[0;4m")) 142s [1] "AB\033[31m\033[42m" "AB\033[4m" 142s 5/14 normalize.R: normalize_state(c("AB\033[31;42m", "\033[0;4mAB")) 142s [1] "AB\033[31m\033[42m" "\033[4mAB" 142s 5/14 normalize.R: normalize_state(c("AB\033[31;42m", NA, "\033[0;4mAB")) 142s [1] "AB\033[31m\033[42m" NA "\033[4mAB" 142s 5/14 normalize.R: normalize_state(c("AB\033[31;42m", NA, "\033[0;4mAB"), carry 142s [1] "AB\033[31m\033[42m" NA NA 142s 5/14 normalize.R: unitizer_sect("superflous codes", { 142s 5/14 normalize.R: normalize_state(c("A\033[31;44;38;5;226;36mBC\033[mD")) 142s [1] "A\033[36m\033[44mBC\033[39m\033[49mD" 142s 5/14 normalize.R: normalize_state(c("A\033[31;44;38;5;226;36m\033[0mBCD")) 142s [1] "ABCD" 142s 5/14 normalize.R: unitizer_sect("broad code test", { 142s 5/14 normalize.R: normalize_state(c("A\033[33;44mB\033[1;3;4mCD\033[mE")) 142s [1] "A\033[33m\033[44mB\033[1m\033[3m\033[4mCD\033[22m\033[23m\033[24m\033[39m\033[49mE" 142s 5/14 normalize.R: normalize_state("A\033[33;44mB\033[1;2;3;4;5;6;7;8;9;11;21;26 142s [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" 142s 5/14 normalize.R: unhandled_ctl(normalize_state("A\033[33;44mB\033[1;2;3;4;5;6; 142s [1] index start stop error translated esc 142s <0 rows> (or 0-length row.names) 142s 5/14 normalize.R: normalize_state("A\033[33;44mB\033[1;2;3;4;5;6;7;8;9;11;21;26 142s [1] "A\033[33m\033[44mB\033[39m\033[49mC" 142s 5/14 normalize.R: normalize_state("A\033[33;44mB\033[1;2;3;4;5;6;7;8;9;11;21;26 142s [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" 142s 5/14 normalize.R: unitizer_sect("errors and warnings", { 142s 5/14 normalize.R: normalize_state(list(1, 2, 3)) 142s [1] "1" "2" "3" 142s 5/14 normalize.R: x <- c("A\033[38;2;100;150;3;36mBC\033[mD") 142s Warning in normalize_state(x, term.cap = c("old")) : 142s 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. 142s 5/14 normalize.R: normalize_state(x, term.cap = c("old")) 142s [1] "A\033[2m\033[3m\033[36mBC\033[22m\033[23m\033[39mD" 142s 5/14 normalize.R: normalize_state(x, term.cap = c("bright", "old")) 142s [1] "A\033[2m\033[3m\033[36m\033[100mBC\033[22m\033[23m\033[39m\033[49mD" 142s Warning in normalize_state(x, term.cap = c("bright", "old")) : 142s 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. 142s Warning in normalize_state(x, term.cap = character()) : 142s 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. 142s 5/14 normalize.R: normalize_state(x, term.cap = character()) 142s [1] "A\033[36mBC\033[39mD" 142s Warning in normalize_state(x, term.cap = c("bright")) : 142s 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. 142s 5/14 normalize.R: normalize_state(x, term.cap = c("bright")) 142s [1] "A\033[36mBC\033[39mD" 142s 5/14 normalize.R: normalize_state(x, term.cap = c("bright", "256", "truecolor") 142s [1] "A\033[36mBC\033[39mD" 142s Error in substr2_ctl(x = x, start = start, stop = stop, warn = warn, term.cap = term.cap, : 142s Argument `normalize` must be TRUE or FALSE. 142s Calls: unitize_dir ... withVisible -> substr_ctl -> substr2_ctl -> VAL_IN_ENV -> stop2 142s Error in substr2_ctl(x = x, start = start, stop = stop, warn = warn, term.cap = term.cap, : 142s Argument `normalize` must be TRUE or FALSE. 142s Calls: unitize_dir ... withVisible -> substr_ctl -> substr2_ctl -> VAL_IN_ENV -> stop2 142s 5/14 normalize.R: substr_ctl(x, 1, 2, normalize = "yeah baby") 142s 5/14 normalize.R: substr_ctl(x, 1, 2, normalize = NA) 142s 5/14 normalize.R: unitizer_sect("in functions", { 142s 5/14 normalize.R: string1 <- "hello \033[33;44mblue world" 142s 5/14 normalize.R: string2 <- "\033[4;1mgoodbye\033[7m white \033[mmoon" 142s 5/14 normalize.R: string3 <- c(string1, string2) 142s 5/14 normalize.R: strwrap_ctl(string1, 11, normalize = TRUE) 142s [1] "hello \033[33m\033[44mblue\033[39m\033[49m" 142s [2] "\033[33m\033[44mworld\033[39m\033[49m" 142s 5/14 normalize.R: strwrap_ctl(string2, 11, normalize = TRUE) 142s [1] "\033[1m\033[4mgoodbye\033[22m\033[24m" 142s [2] "\033[1m\033[4m\033[7mwhite \033[22m\033[24m\033[27mmoon" 142s 5/14 normalize.R: strwrap_ctl(string3, 11, normalize = TRUE) 142s [1] "hello \033[33m\033[44mblue\033[39m\033[49m" 142s [2] "\033[33m\033[44mworld\033[39m\033[49m" 142s [3] "\033[1m\033[4mgoodbye\033[22m\033[24m" 142s [4] "\033[1m\033[4m\033[7mwhite \033[22m\033[24m\033[27mmoon" 142s 5/14 normalize.R: strwrap_ctl(string3, 11, normalize = TRUE, simplify = FALSE) 142s [[1]] 142s [1] "hello \033[33m\033[44mblue\033[39m\033[49m" 142s [2] "\033[33m\033[44mworld\033[39m\033[49m" 142s 142s [[2]] 142s [1] "\033[1m\033[4mgoodbye\033[22m\033[24m" 142s [2] "\033[1m\033[4m\033[7mwhite \033[22m\033[24m\033[27mmoon" 142s 142s 5/14 normalize.R: strwrap2_ctl(string3, 11, normalize = TRUE, pad.end = " ") 142s [1] "hello \033[33m\033[44mblue\033[39m\033[49m" 142s [2] "\033[33m\033[44mworld \033[39m\033[49m" 142s [3] "\033[1m\033[4mgoodbye\033[7m \033[22m\033[24m\033[27m" 142s [4] "\033[1m\033[4m\033[7mwhite \033[22m\033[24m\033[27mmoon" 142s 5/14 normalize.R: strwrap_sgr(string3, 11, normalize = TRUE) 142s [1] "hello \033[33m\033[44mblue\033[39m\033[49m" 142s [2] "\033[33m\033[44mworld\033[39m\033[49m" 142s [3] "\033[1m\033[4mgoodbye\033[22m\033[24m" 142s [4] "\033[1m\033[4m\033[7mwhite \033[22m\033[24m\033[27mmoon" 142s 5/14 normalize.R: strwrap2_sgr(string3, 11, normalize = TRUE, pad.end = " ") 142s [1] "hello \033[33m\033[44mblue\033[39m\033[49m" 142s [2] "\033[33m\033[44mworld \033[39m\033[49m" 142s [3] "\033[1m\033[4mgoodbye\033[7m \033[22m\033[24m\033[27m" 142s [4] "\033[1m\033[4m\033[7mwhite \033[22m\033[24m\033[27mmoon" 142s 5/14 normalize.R: strtrim_sgr(string3, 8, normalize = TRUE) 142s [1] "hello \033[33m\033[44mbl\033[39m\033[49m" 142s [2] "\033[1m\033[4mgoodbye\033[7m \033[22m\033[24m\033[27m" 142s 5/14 normalize.R: strtrim_sgr(string3, 8, normalize = TRUE) 142s [1] "hello \033[33m\033[44mbl\033[39m\033[49m" 142s [2] "\033[1m\033[4mgoodbye\033[7m \033[22m\033[24m\033[27m" 142s 5/14 normalize.R: substr_ctl("\033[33;44mhello\033[m world", 3, 8, normalize = 142s [1] "\033[33m\033[44mllo\033[39m\033[49m wo" 142s 5/14 normalize.R: substr2_ctl("\033[33;44mhello\033[m world", 3, 8, normalize = 142s [1] "\033[33m\033[44mllo\033[39m\033[49m wo" 142s 5/14 normalize.R: substr_sgr("\033[33;44mhello\033[m world", 3, 8, normalize = 142s [1] "\033[33m\033[44mllo\033[39m\033[49m wo" 142s 5/14 normalize.R: substr2_sgr("\033[33;44mhello\033[m world", 3, 8, normalize = 142s [1] "\033[33m\033[44mllo\033[39m\033[49m wo" 142s 5/14 normalize.R: substr_ctl(string3, c(3, 3), c(8, 15), normalize = TRUE) 142s [1] "llo \033[33m\033[44mbl\033[39m\033[49m" 142s [2] "\033[1m\033[4modbye\033[7m white \033[22m\033[24m\033[27mm" 142s 5/14 normalize.R: strsplit_ctl(string3, " ", normalize = TRUE) 142s [[1]] 142s [1] "hello" 142s [2] "\033[33m\033[44mblue\033[39m\033[49m" 142s [3] "\033[33m\033[44mworld\033[39m\033[49m" 142s 142s [[2]] 142s [1] "\033[1m\033[4mgoodbye\033[22m\033[24m" 142s [2] "\033[1m\033[4m\033[7mwhite\033[22m\033[24m\033[27m" 142s [3] "moon" 142s 142s 142s 6/14 overflow.R: 142s 6/14 overflow.R: library(fansi) 142s 6/14 overflow.R: old_max <- fansi:::set_int_max(15) 142s 6/14 overflow.R: unitizer_sect("tabs", { 142s 6/14 overflow.R: tabs_as_spaces("\t1234567") 142s [1] " 1234567" 142s 6/14 overflow.R: tryCatch(tabs_as_spaces("\t12345678"), error = conditionMessag 142s [1] "Converting tabs to spaces will cause string to be longer than allowed INT_MAX." 142s 6/14 overflow.R: invisible(fansi:::set_int_max(12)) 142s 6/14 overflow.R: tabs_as_spaces(c("\t", "\t123")) 142s [1] " " " 123" 142s 6/14 overflow.R: unitizer_sect("wrap", { 142s 6/14 overflow.R: invisible(fansi:::set_int_max(15)) 142s 6/14 overflow.R: string <- "0123456789" 142s 6/14 overflow.R: strwrap_ctl(string, 16) 142s [1] "0123456789" 142s 6/14 overflow.R: strwrap2_ctl(string, 16, pad.end = " ") 142s [1] "0123456789 " 142s 6/14 overflow.R: tce(strwrap2_ctl(string, 17, pad.end = " ")) 142s [1] "Adding padding will create string longer than INT_MAX at index [1]. Try again with smaller strings." 142s 6/14 overflow.R: strwrap_ctl(string, 16, prefix = "-----") 142s [1] "-----0123456789" 142s 6/14 overflow.R: tce(strwrap_ctl(string, 16, prefix = "------")) 142s [1] "Adding prefix characters will create string longer than INT_MAX at index [1]. Try again with smaller strings." 142s 6/14 overflow.R: strwrap_ctl(string, 16, indent = 5) 142s [1] " 0123456789" 142s 6/14 overflow.R: tce(strwrap_ctl(string, 16, indent = 6)) 142s [1] "Adding prefix characters will create string longer than INT_MAX at index [1]. Try again with smaller strings." 142s 6/14 overflow.R: strwrap_ctl(string, 16, indent = 2, prefix = "---") 142s [1] "--- 0123456789" 142s 6/14 overflow.R: tce(strwrap_ctl(string, 16, indent = 3, prefix = "---")) 142s [1] "Adding prefix characters will create string longer than INT_MAX at index [1]. Try again with smaller strings." 142s 6/14 overflow.R: string2 <- "012345678901234" 142s 6/14 overflow.R: string3 <- "0123456789012345" 142s 6/14 overflow.R: strwrap_ctl(string2, 16) 142s [1] "012345678901234" 142s 6/14 overflow.R: tce(strwrap_ctl(string3, 16)) 142s [1] "Strings longer than INT_MAX not supported (length 16 at index 1)." 142s 6/14 overflow.R: string4 <- "\033[31m0123456789" 142s 6/14 overflow.R: tce(strwrap_ctl(string4, 16)) 142s [1] "Generating closing SGR will create string longer than INT_MAX at index [1]. Try again with smaller strings." 142s 6/14 overflow.R: invisible(fansi:::set_int_max(9)) 142s 6/14 overflow.R: tce(strwrap_ctl("A\033[31m a", 5)) 142s [1] "Generating closing SGR will create string longer than INT_MAX at index [1]. Try again with smaller strings." 142s 6/14 overflow.R: unitizer_sect("html", { 142s 6/14 overflow.R: invisible(fansi:::set_int_max(38)) 142s 6/14 overflow.R: sgr_to_html("\033[31ma") 142s [1] "a" 142s 6/14 overflow.R: tce(sgr_to_html("\033[31mab")) 142s [1] "Expanding SGR sequences to HTML will create string longer than INT_MAX at index [1]. Try again with smaller strings." 142s 6/14 overflow.R: tce(sgr_to_html("\033[31m\033[42mhello")) 142s [1] "Expanding SGR sequences to HTML will create string longer than INT_MAX at index [1]. Try again with smaller strings." 142s 6/14 overflow.R: invisible(fansi:::set_int_max(57)) 142s 6/14 overflow.R: tce(sgr_to_html("\033[31m\033[42mhello", classes = TRUE)) 142s [1] "Expanding SGR sequences to HTML will create string longer than INT_MAX at index [1]. Try again with smaller strings." 142s 6/14 overflow.R: invisible(fansi:::set_int_max(58)) 142s 6/14 overflow.R: (x <- sgr_to_html("\033[31m\033[42mhello", classes = TRUE)) 142s [1] "hello" 142s 6/14 overflow.R: nchar(x) 142s [1] 58 142s 6/14 overflow.R: invisible(fansi:::set_int_max(4)) 142s 6/14 overflow.R: tce(sgr_to_html("hello")) 142s [1] "Strings longer than INT_MAX not supported (length 5 at index 1)." 142s 6/14 overflow.R: tce(html_esc("hello")) 142s [1] "Strings longer than INT_MAX not supported (length 5 at index 1)." 142s 6/14 overflow.R: tce(html_esc("<")) 142s [1] "<" 142s 6/14 overflow.R: tce(html_esc(" eval -> eval -> withVisible -> 142s 6/14 overflow.R: fansi:::size_buff(c(0L, 127L, -128L)) 142s 6/14 overflow.R: invisible(fansi:::set_int_max(130)) 142s Error in fansi:::size_buff(c(0L, 127L, 128L, 64L, 200L, 1024L)) : 142s Internal Error: max allowed buffer size is INT_MAX + 1. (req: 201 vs lim: 131), in FANSI_size_buff_ext. 142s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> 142s 6/14 overflow.R: fansi:::size_buff(c(0L, 127L, 128L, 64L, 200L, 1024L)) 142s 6/14 overflow.R: invisible(fansi:::set_int_max(64)) 142s 6/14 overflow.R: fansi:::size_buff(c(0L, 32L, 63L, 64L)) 142s [1] 1 33 65 65 142s 6/14 overflow.R: fansi:::size_buff(c(0L, 32L, 63L, 65L)) 142s Error in fansi:::size_buff(c(0L, 32L, 63L, 65L)) : 142s Internal Error: max allowed buffer size is INT_MAX + 1. (req: 66 vs lim: 65), in FANSI_size_buff_ext. 142s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> 142s 6/14 overflow.R: invisible(fansi:::set_int_max(old_max)) 142s 6/14 overflow.R: dat <- fansi:::size_buff_prot_test() 142s Warning in fansi:::size_buff_prot_test() : 142s Unable to release buffer allocated by FANSI_size_buff_prot_test while in native code. Buffer will be released on return to R. 142s Warning in fansi:::size_buff_prot_test() : 142s Unable to release buffer allocated by FANSI_size_buff_prot_test while in native code. Buffer will be released on return to R. 142s 6/14 overflow.R: dat["first", "self"] == dat["smaller 1.0", "self"] 142s [1] TRUE 142s 6/14 overflow.R: dat["new buff", "prev"] == dat["grow 1.0", "self"] 142s [1] TRUE 142s 6/14 overflow.R: dat["new buff", "prev"] != dat["new buff", "self"] 142s [1] TRUE 142s 6/14 overflow.R: dat["smaller 1.1", "self"] == dat["grow 1.0", "self"] 142s [1] TRUE 142s 6/14 overflow.R: dat["smaller 2.0", "self"] == dat["new buff", "self"] 142s [1] TRUE 142s 6/14 overflow.R: dat["smaller 2.0", "prev"] == dat["new buff", "prev"] 142s [1] TRUE 142s 6/14 overflow.R: dat["smaller 2.0", "prev"] == dat["grow 2.0", "prev"] 142s [1] TRUE 142s 6/14 overflow.R: dat["grow 1.1", "prev"] == dat["grow 2.0", "self"] 142s [1] TRUE 142s 6/14 overflow.R: dat["grow 2.1", "prev"] == dat["grow 1.1", "self"] 142s [1] TRUE 142s 6/14 overflow.R: unitizer_sect("misc", { 142s 6/14 overflow.R: invisible(fansi:::set_int_max(5)) 142s 6/14 overflow.R: substr_ctl("\033[43mA B", 5, 5) 142s Error in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 142s Strings longer than INT_MAX not supported (length 8 at index 1). 142s Calls: unitize_dir ... withVisible -> substr_ctl -> substr2_ctl -> substr_ctl_internal 142s 6/14 overflow.R: substr_ctl("12345", 1, 5) 142s [1] "12345" 142s 6/14 overflow.R: substr_ctl("123456", 1, 6) 142s Error in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 142s Strings longer than INT_MAX not supported (length 6 at index 1). 142s Calls: unitize_dir ... withVisible -> substr_ctl -> substr2_ctl -> substr_ctl_internal 142s 6/14 overflow.R: fansi:::reset_limits() 142s [1] TRUE 142s 6/14 overflow.R: unitizer_sect("R_len_t", { 142s 6/14 overflow.R: old_rlent <- fansi:::set_rlent_max(5) 142s 6/14 overflow.R: tabs_as_spaces("A\tB") 142s Error in tabs_as_spaces("A\tB") : 142s Attempting to create CHARSXP longer than R_LEN_T_MAX at index [1]. 142s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> tabs_as_spaces 142s 6/14 overflow.R: new_rlent <- fansi:::set_rlent_max(old_rlent) 142s 6/14 overflow.R: fansi:::reset_limits() 142s [1] TRUE 142s 6/14 overflow.R: unitizer_sect("internal", { 142s 6/14 overflow.R: tce(.Call(fansi:::FANSI_buff_test_reset)) 142s [1] "Internal Error: attempt to size buffer w/o reset in FANSI_buff_test_reset." 142s 6/14 overflow.R: tce(.Call(fansi:::FANSI_buff_test_copy_overflow)) 142s [1] "Internal Error: exceeded target buffer size in _copy." 142s 6/14 overflow.R: tce(.Call(fansi:::FANSI_buff_test_mcopy_overflow)) 142s [1] "Internal Error: exceeded target buffer size in _mcopy." 142s 6/14 overflow.R: tce(.Call(fansi:::FANSI_buff_test_fill_overflow)) 142s [1] "Internal Error: exceeded allocated buffer in _fill." 142s 142s 7/14 strip.R: 142s 7/14 strip.R: library(fansi) 142s 7/14 strip.R: unitizer_sect("Strip ansi", { 142s 7/14 strip.R: strip_ctl(sprintf("hello %sworld%s", red, end)) 142s [1] "hello world" 142s 7/14 strip.R: strip_ctl(sprintf("he%sllo %sworld", red, end)) 142s [1] "hello world" 142s 7/14 strip.R: strip_ctl(sprintf("%shello %sworld%s", grn.bg, red, end)) 142s [1] "hello world" 142s 7/14 strip.R: strip_ctl(sprintf("%s%shello %sworld%s", grn.bg, inv, red, end)) 142s [1] "hello world" 142s 7/14 strip.R: string <- paste("string", format(1:10)) 142s 7/14 strip.R: string[c(2, 4, 6)] <- paste0(red, string[c(2, 4, 6)], end) 142s 7/14 strip.R: strip_ctl(string) 142s [1] "string 1" "string 2" "string 3" "string 4" "string 5" "string 6" 142s [7] "string 7" "string 8" "string 9" "string 10" 142s 7/14 strip.R: strip_sgr(string) 142s [1] "string 1" "string 2" "string 3" "string 4" "string 5" "string 6" 142s [7] "string 7" "string 8" "string 9" "string 10" 142s 7/14 strip.R: strip_sgr(1:3) 142s [1] "1" "2" "3" 143s Warning in strip_ctl("hello\033") : 143s Argument `x` contains a malformed escape sequence at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 143s 7/14 strip.R: unitizer_sect("Corner cases", { 143s 7/14 strip.R: strip_ctl("hello\033") 143s [1] "hello" 143s 7/14 strip.R: strip_ctl("hello\033", ctl = c("nl", "c0")) 143s [1] "hello\033" 143s 7/14 strip.R: strip_ctl("hello\033[") 143s Warning in strip_ctl("hello\033[") : 143s 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. 143s [1] "hello" 143s 7/14 strip.R: strip_ctl("hello\033[42") 143s [1] "hello" 143s Warning in strip_ctl("hello\033[42") : 143s 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. 143s 7/14 strip.R: strip_ctl("hello\033[42", ctl = c("all", "csi", "sgr")) 143s [1] "hello42" 143s 7/14 strip.R: strip_ctl("hello\033[31##3m illegal") 143s [1] "hello illegal" 143s 7/14 strip.R: strip_ctl("hello\033[31##m legal") 143s [1] "hello legal" 143s 7/14 strip.R: strip_ctl(1:3) 143s [1] "1" "2" "3" 143s 7/14 strip.R: unitizer_sect("Whitespace", { 143s 7/14 strip.R: fansi:::process("hello world") 143s [1] "hello world" 143s 7/14 strip.R: fansi:::process("hello. world") 143s [1] "hello. world" 143s 7/14 strip.R: fansi:::process(c("hello world", "hello. world")) 143s [1] "hello world" "hello. world" 143s 7/14 strip.R: fansi:::process("hello. world? moon! wow.") 143s [1] "hello. world? moon! wow." 143s 7/14 strip.R: fansi:::process(" hello") 143s [1] "hello" 143s 7/14 strip.R: fansi:::process(" hello\n world") 143s [1] "hello world" 143s 7/14 strip.R: fansi:::process(" hello \n world") 143s [1] "hello world" 143s 7/14 strip.R: fansi:::process(" hello world\n ") 143s [1] "hello world" 143s 7/14 strip.R: fansi:::process("hello. ") 143s [1] "hello." 143s 7/14 strip.R: fansi:::process("hello! ") 143s [1] "hello!" 143s 7/14 strip.R: fansi:::process("hello? ") 143s [1] "hello?" 143s 7/14 strip.R: fansi:::process("hello? ") 143s [1] "hello?" 143s 7/14 strip.R: fansi:::process(" \t hello") 143s [1] "hello" 143s 7/14 strip.R: fansi:::process(" \t\a\r hello") 143s [1] "\a\rhello" 143s 7/14 strip.R: fansi:::process(" \t\a\r hello", ctl = c("all", "c0")) 143s [1] "\a\r hello" 143s 7/14 strip.R: fansi:::process("hello. \r world.") 143s [1] "hello. \rworld." 143s 7/14 strip.R: fansi:::process("hello. \033[31m world.\033[0m") 143s [1] "hello. \033[31mworld.\033[0m" 143s 7/14 strip.R: str1 <- c("hello ", " world") 143s 7/14 strip.R: fansi:::process(str1) 143s [1] "hello" "world" 143s 7/14 strip.R: str1 143s [1] "hello " " world" 143s 7/14 strip.R: fansi:::process("hello.\n\nworld") 143s [1] "hello.\n\nworld" 143s 7/14 strip.R: fansi:::process("hello.\n\n\nworld") 143s [1] "hello.\n\nworld" 143s 7/14 strip.R: fansi:::process("hello.\n\n\n\nworld") 143s [1] "hello.\n\nworld" 143s 7/14 strip.R: fansi:::process("hello.\n \nworld") 143s [1] "hello.\n\nworld" 143s 7/14 strip.R: fansi:::process("hello.\n\t\nworld") 143s [1] "hello.\n\nworld" 143s 7/14 strip.R: fansi:::process("hello.\n\t\n\tworld") 143s [1] "hello.\n\nworld" 143s 7/14 strip.R: fansi:::process("hello.\n \t \n \t world") 143s [1] "hello.\n\nworld" 143s 7/14 strip.R: fansi:::process("hello.\n\nworld\n\n") 143s [1] "hello.\n\nworld" 143s 7/14 strip.R: fansi:::process("hello.\n\nworld\n\n ") 143s [1] "hello.\n\nworld" 143s 7/14 strip.R: fansi:::process("\n\nhello.\n\t\n\tworld\n\t\n woohoo\n ") 143s [1] "\n\nhello.\n\nworld\n\nwoohoo" 143s 7/14 strip.R: fansi:::process("\n \t\nhello.\n\t\n\tworld\n\t\n woohoo\n ") 143s [1] "\n\nhello.\n\nworld\n\nwoohoo" 143s 7/14 strip.R: fansi:::process("hello.\n\033[44m\nworld") 143s [1] "hello.\n\n\033[44mworld" 143s 7/14 strip.R: fansi:::process("hello.\n\033[44m\n \t\nworld") 143s [1] "hello.\n\n\033[44mworld" 143s 7/14 strip.R: fansi:::process("hello.\033[44m\n\n \t\nworld") 143s [1] "hello.\033[44m\n\nworld" 143s 7/14 strip.R: fansi:::process("hello.\n\n \t\n\033[44mworld") 143s [1] "hello.\n\n\033[44mworld" 143s 7/14 strip.R: fansi:::process("hello.\n\n\033[44m \t\nworld") 143s [1] "hello.\n\n\033[44mworld" 143s 7/14 strip.R: fansi:::process("hello \033[44m world") 143s [1] "hello \033[44mworld" 143s 7/14 strip.R: fansi:::process("hello. \033[44m world") 143s [1] "hello. \033[44mworld" 143s 7/14 strip.R: fansi:::process("hello\033[44m\033[31m world") 143s [1] "hello\033[44m\033[31m world" 143s 7/14 strip.R: fansi:::process("hello\033[44m\033[31m\n\nworld") 143s [1] "hello\033[44m\033[31m\n\nworld" 143s 7/14 strip.R: fansi:::process("hello\n\033[44m\033[31m\nworld") 143s [1] "hello\n\n\033[44m\033[31mworld" 143s 7/14 strip.R: fansi:::process("hello\n\n\033[44m\033[31mworld") 143s [1] "hello\n\n\033[44m\033[31mworld" 143s 7/14 strip.R: fansi:::process("hello\033[44m\033[31d world") 143s [1] "hello\033[44m\033[31d world" 143s 7/14 strip.R: fansi:::process("hello \033[44m\033[31d world") 143s [1] "hello \033[44m\033[31dworld" 143s 7/14 strip.R: fansi:::process("hello \033[44m \033[31d world") 143s [1] "hello \033[44m\033[31dworld" 143s 7/14 strip.R: fansi:::process("hello\033[44m\033[31d world", ctl = c("all", 143s [1] "hello\033[44m\033[31d world" 143s 7/14 strip.R: fansi:::process("hello \033[44m\033[31d world", ctl = c("all", 143s [1] "hello \033[44m\033[31d world" 143s 7/14 strip.R: fansi:::process("hello \033[44m \033[31d world", ctl = c("all", 143s [1] "hello \033[44m\033[31d world" 143s 7/14 strip.R: fansi:::process("hello\033[44m\a world", ctl = c("all")) 143s [1] "hello\033[44m\a world" 143s 7/14 strip.R: fansi:::process("hello\033[44m\a world", ctl = c("all", "c0")) 143s [1] "hello\033[44m\a world" 143s 7/14 strip.R: fansi:::process("hello. \033[44m\a world", ctl = c("all")) 143s [1] "hello. \033[44m\aworld" 143s 7/14 strip.R: fansi:::process("hello. \033[44m\a world", ctl = c("all", "c0")) 143s [1] "hello. \033[44m\a world" 143s 7/14 strip.R: fansi:::process("hello. \033[44m \a world", ctl = c("all")) 143s [1] "hello. \033[44m\aworld" 143s 7/14 strip.R: fansi:::process("hello. \033[44m \a world", ctl = c("all", "c0")) 143s [1] "hello. \033[44m\a world" 143s 7/14 strip.R: fansi:::process("hello.\n\033[44m \a world", ctl = c("all")) 143s [1] "hello. \033[44m\aworld" 143s 7/14 strip.R: fansi:::process("hello.\n\033[44m \a world", ctl = c("all", "c0") 143s [1] "hello. \033[44m\a world" 143s 7/14 strip.R: fansi:::process("hello.\n\033[44m\n\a world", ctl = c("all")) 143s [1] "hello.\n\n\033[44m\aworld" 143s 7/14 strip.R: fansi:::process("hello.\n\033[44m\n\a world", ctl = c("all", 143s [1] "hello.\n\n\033[44m\a world" 143s 7/14 strip.R: fansi:::process("hello.\n\033[44m\a\n world", ctl = c("all")) 143s [1] "hello.\n\n\033[44m\aworld" 143s 7/14 strip.R: fansi:::process("hello.\n\033[44m\a\n world", ctl = c("all", 143s [1] "hello. \033[44m\a world" 143s 7/14 strip.R: unitizer_sect("Selective stripping", { 143s 7/14 strip.R: string.0 <- "hello\033k\033[45p world\n\033[31mgoodbye\a moon" 143s 7/14 strip.R: strip_ctl(string.0) 143s [1] "hello worldgoodbye moon" 143s 7/14 strip.R: strip_ctl(string.0, "sgr") 143s [1] "hello\033k\033[45p world\ngoodbye\a moon" 143s 7/14 strip.R: strip_ctl(string.0, c("nl", "c0", "sgr", "csi", "esc")) 143s [1] "hello worldgoodbye moon" 143s 7/14 strip.R: strip_ctl(string.0, "all") 143s [1] "hello worldgoodbye moon" 143s 7/14 strip.R: strip_ctl(string.0, c("c0", "esc")) 143s [1] "hello45p world\n31mgoodbye moon" 143s 7/14 strip.R: strip_ctl(string.0, c("nl")) 143s [1] "hello\033k\033[45p world\033[31mgoodbye\a moon" 143s 7/14 strip.R: strip_ctl(string.0, character()) 143s [1] "hello\033k\033[45p world\n\033[31mgoodbye\a moon" 143s 7/14 strip.R: strip_ctl(string.0, c("all", "c0", "esc")) 143s [1] "hello\033k worldgoodbye\a moon" 143s 7/14 strip.R: strip_ctl(string.0, c("all", "sgr")) 143s [1] "hello world\033[31mgoodbye moon" 143s 7/14 strip.R: string.1 <- "hello\033\033[45p world\n\033[31#3mgoodbye\a moon" 143s Warning in strip_ctl(string.1, c("nl", "sgr", "esc")) : 143s Argument `x` contains a malformed escape sequence at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 143s 7/14 strip.R: strip_ctl(string.1, c("nl", "sgr", "esc")) 143s [1] "hello[45p worldgoodbye\a moon" 143s 7/14 strip.R: strip_ctl(string.1, c("csi")) 143s [1] "hello\033 world\n\033[31#3mgoodbye\a moon" 143s Warning in strip_ctl(string.1, "all") : 143s Argument `x` contains a malformed escape sequence at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 143s 7/14 strip.R: strip_ctl(string.1, "all") 143s [1] "hello[45p worldgoodbye moon" 143s 7/14 strip.R: strip_ctl(string.1, c("c0", "nl")) 143s [1] "hello\033\033[45p world\033[31#3mgoodbye moon" 143s 7/14 strip.R: strip_ctl(string.1, c("all", "sgr")) 143s Warning in strip_ctl(string.1, c("all", "sgr")) :[1] "hello[45p world\033[31#3mgoodbye moon" 143s 143s Argument `x` contains a malformed escape sequence at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 143s 7/14 strip.R: strip_sgr(string.1) 143s [1] "hello\033\033[45p world\ngoodbye\a moon" 143s 7/14 strip.R: strip_ctl(c(string.0, string.1, "hello"), warn = FALSE) 143s [1] "hello worldgoodbye moon" "hello[45p worldgoodbye moon" 143s [3] "hello" 143s 7/14 strip.R: string.2 <- "\033k\033[45p\a\n\033[31mgoodbye moon" 143s 7/14 strip.R: strip_ctl(string.2) 143s [1] "goodbye moon" 143s 7/14 strip.R: strip_ctl(string.2, "sgr") 143s [1] "\033k\033[45p\a\ngoodbye moon" 143s 7/14 strip.R: string.3 <- "hello world\033k\033[45p\a\n\033[31m" 143s 7/14 strip.R: strip_ctl(string.3) 143s [1] "hello world" 143s 7/14 strip.R: strip_ctl(string.3, "sgr") 143s [1] "hello world\033k\033[45p\a\n" 143s 7/14 strip.R: unitizer_sect("Bad Inputs", { 143s 7/14 strip.R: strip_ctl("hello\033[41mworld", warn = 1:3) 143s Error in strip_ctl("hello\033[41mworld", warn = 1:3) : 143s Argument `warn` must be TRUE or FALSE. 143s Calls: unitize_dir ... eval -> withVisible -> strip_ctl -> VAL_IN_ENV -> stop2 143s Error in strip_ctl("hello\033[41mworld", ctl = 1:3) : 143s Argument `ctl` must be character. 143s Calls: unitize_dir ... eval -> withVisible -> strip_ctl -> VAL_IN_ENV -> stop2 143s 7/14 strip.R: strip_ctl("hello\033[41mworld", ctl = 1:3) 143s Error in strip_ctl("hello\033[41mworld", ctl = "bananas") : 143s Argument `ctl` may contain only values in `c("all", "nl", "c0", "sgr", "csi", "esc", "url", "osc")` 143s Calls: unitize_dir ... eval -> withVisible -> strip_ctl -> VAL_IN_ENV -> stop2 143s 7/14 strip.R: strip_ctl("hello\033[41mworld", ctl = "bananas") 143s 7/14 strip.R: strip_ctl("hello\033[41mworld", strip = "sgr") 143s [1] "helloworld" 143s Parameter `strip` has been deprecated; use `ctl` instead. 143s 7/14 strip.R: strip_sgr("hello\033[41mworld", warn = 1:3) 143s Error in strip_sgr("hello\033[41mworld", warn = 1:3) : 143s Argument `warn` must be TRUE or FALSE. 143s Calls: unitize_dir ... eval -> withVisible -> strip_sgr -> VAL_IN_ENV -> stop2 143s 143s 8/14 strsplit.R: 143s 8/14 strsplit.R: library(fansi) 143s 8/14 strsplit.R: unitizer_sect("basic splits", { 143s 8/14 strsplit.R: str.0 <- c("hello world", "goodbye moon") 143s 8/14 strsplit.R: identical(strsplit(str.0[1], " "), strsplit_ctl(str.0[1], " ") 143s [1] TRUE 143s 8/14 strsplit.R: identical(strsplit(str.0, "h"), strsplit_ctl(str.0, "h")) 143s [1] TRUE 143s 8/14 strsplit.R: identical(strsplit(str.0, "m"), strsplit_ctl(str.0, "m")) 143s [1] TRUE 143s 8/14 strsplit.R: identical(strsplit(str.0, "g"), strsplit_ctl(str.0, "g")) 143s [1] TRUE 143s 8/14 strsplit.R: str.1 <- "hello\033[31m world" 143s 8/14 strsplit.R: str.2 <- "\033[42m hello\033[m world, Goodbye Moon" 143s 8/14 strsplit.R: strsplit_ctl(str.1, " ") 143s [[1]] 143s [1] "hello" "\033[31mworld\033[0m" 143s 143s 8/14 strsplit.R: strsplit_ctl(str.1, "hello") 143s [[1]] 143s [1] "" "\033[31m world\033[0m" 143s 143s 8/14 strsplit.R: strsplit_ctl(str.2, ", ") 143s [[1]] 143s [1] "\033[42m hello\033[m world" "Goodbye Moon" 143s 143s 8/14 strsplit.R: strsplit_ctl(c(str.1, "hello world", str.2), "hello") 143s [[1]] 143s [1] "" "\033[31m world\033[0m" 143s 143s [[2]] 143s [1] "" " world" 143s 143s [[3]] 143s [1] "\033[42m \033[0m" " world, Goodbye Moon" 143s 143s 8/14 strsplit.R: unitizer_sect("corner cases", { 143s 8/14 strsplit.R: strsplit_ctl("hello\033[31m world", "") 143s [[1]] 143s [1] "h" "e" "l" "l" 143s [5] "o" "\033[31m \033[0m" "\033[31mw\033[0m" "\033[31mo\033[0m" 143s [9] "\033[31mr\033[0m" "\033[31ml\033[0m" "\033[31md\033[0m" 143s 143s 8/14 strsplit.R: strsplit_ctl("hello\033[31m world", "[", fixed = TRUE) 143s [[1]] 143s [1] "hello\033[31m world" 143s 143s 8/14 strsplit.R: strsplit_ctl("hello\033[31m world", NA_character_) 143s Error in strsplit_ctl("hello\033[31m world", NA_character_) : 143s Argument `split` may not contain NAs. 143s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> strsplit_ctl 143s 8/14 strsplit.R: strsplit_ctl("hello\033[31m world", character()) 143s [[1]] 143s [1] "h" "e" "l" "l" 143s [5] "o" "\033[31m \033[0m" "\033[31mw\033[0m" "\033[31mo\033[0m" 143s [9] "\033[31mr\033[0m" "\033[31ml\033[0m" "\033[31md\033[0m" 143s 143s 8/14 strsplit.R: strsplit_ctl("hello\033[31m world", letters) 143s [[1]] 143s [1] "hello\033[31m world" 143s 143s 8/14 strsplit.R: splits <- c("h", "e", "o", "llo", "x", "hello") 143s 8/14 strsplit.R: str.spl1 <- strsplit_ctl(rep("hello", 6), splits) 143s 8/14 strsplit.R: str.spl2 <- strsplit(rep("hello", 6), splits) 143s 8/14 strsplit.R: identical(str.spl1, str.spl2) 143s [1] TRUE 143s 8/14 strsplit.R: str.spl3 <- strsplit_ctl(rep("\033[31mhello\033[39m", 6), spli 143s 8/14 strsplit.R: str.spl3 143s [[1]] 143s [1] "" "\033[31mello\033[0m" 143s 143s [[2]] 143s [1] "\033[31mh\033[0m" "\033[31mllo\033[0m" 143s 143s [[3]] 143s [1] "\033[31mhell\033[0m" 143s 143s [[4]] 143s [1] "\033[31mhe\033[0m" 143s 143s [[5]] 143s [1] "\033[31mhello\033[39m" 143s 143s [[6]] 143s [1] "" 143s 143s 8/14 strsplit.R: identical(lapply(str.spl3, strip_ctl), str.spl2) 143s [1] TRUE 143s 8/14 strsplit.R: strsplit_ctl("", " ") 143s [[1]] 143s character(0) 143s 143s 8/14 strsplit.R: strsplit_ctl("", "") 143s [[1]] 143s character(0) 143s 143s 8/14 strsplit.R: strsplit_ctl(c("\033[31mab\033[0m", ""), "") 143s [[1]] 143s [1] "\033[31ma\033[0m" "\033[31mb\033[0m" 143s 143s [[2]] 143s character(0) 143s 143s 8/14 strsplit.R: strsplit_ctl("hello", NULL) 143s [[1]] 143s [1] "h" "e" "l" "l" "o" 143s 143s 8/14 strsplit.R: str.sp14 <- c("\033[31mhello\nworld", "\ngoodbye\nmoon") 143s 8/14 strsplit.R: strsplit_ctl(str.sp14, "\n") 143s [[1]] 143s [1] "\033[31mhello\nworld" 143s 143s [[2]] 143s [1] "\ngoodbye\nmoon" 143s 143s 8/14 strsplit.R: strsplit_sgr(str.sp14, "\n") 143s [[1]] 143s [1] "\033[31mhello\033[0m" "\033[31mworld\033[0m" 143s 143s [[2]] 143s [1] "" "goodbye" "moon" 143s 143s 8/14 strsplit.R: strsplit_ctl(str.sp14, "\n", ctl = c("all", "nl")) 143s [[1]] 143s [1] "\033[31mhello\033[0m" "\033[31mworld\033[0m" 143s 143s [[2]] 143s [1] "" "goodbye" "moon" 143s 143s 8/14 strsplit.R: unitizer_sect("bad intputs", { 143s 8/14 strsplit.R: str.bytes <- "\336" 143s 8/14 strsplit.R: Encoding(str.bytes) <- "bytes" 143s Error in strsplit_ctl(str.bytes, "") : 143s Argument `x` contains a "bytes" encoded string at index [1], which is disallowed. 143s Calls: unitize_dir ... eval -> withVisible -> strsplit_ctl -> VAL_IN_ENV -> stop2 143s 8/14 strsplit.R: strsplit_ctl(str.bytes, "") 143s Error in strsplit_ctl(str.2, NA) : Argument `split` may not contain NAs. 143s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> strsplit_ctl 143s Error in strsplit_ctl(str.2, "", warn = NULL) : 143s Argument `warn` must be TRUE or FALSE. 143s Calls: unitize_dir ... eval -> withVisible -> strsplit_ctl -> VAL_IN_ENV -> stop2 143s 8/14 strsplit.R: strsplit_ctl(str.2, NA) 143s 8/14 strsplit.R: strsplit_ctl(str.2, "", warn = NULL) 143s Error in strsplit_ctl(str.2, "", fixed = NA_integer_) : 143s Argument `fixed` must be TRUE or FALSE. 143s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> strsplit_ctl 143s 8/14 strsplit.R: strsplit_ctl(str.2, "", fixed = NA_integer_) 143s Error in strsplit_ctl(str.2, "", perl = NA_integer_) : 143s Argument `perl` must be TRUE or FALSE. 143s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> strsplit_ctl 143s 8/14 strsplit.R: strsplit_ctl(str.2, "", perl = NA_integer_) 143s 8/14 strsplit.R: strsplit_ctl(str.2, "", useBytes = NA_integer_) 143s Error in strsplit_ctl(str.2, "", useBytes = NA_integer_) : 143s Argument `useBytes` must be TRUE or FALSE. 143s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> strsplit_ctl 143s 8/14 strsplit.R: strsplit_ctl(str.2, "", term.cap = 1:3) 143s Error in strsplit_ctl(str.2, "", term.cap = 1:3) : 143s Argument `term.cap` must be character. 143s Calls: unitize_dir ... eval -> withVisible -> strsplit_ctl -> VAL_IN_ENV -> stop2 143s 8/14 strsplit.R: strsplit_ctl(str.2, "", term.cap = "bananas") 143s Error in strsplit_ctl(str.2, "", term.cap = "bananas") : 143s Argument `term.cap` may only contain values in c("all", "bright", "256", "truecolor", "old") 143s Calls: unitize_dir ... eval -> withVisible -> strsplit_ctl -> VAL_IN_ENV -> stop2 143s Error in strsplit_ctl(str.2, "", ctl = 1:3) : 143s Argument `ctl` must be character. 143s Calls: unitize_dir ... eval -> withVisible -> strsplit_ctl -> VAL_IN_ENV -> stop2 143s 8/14 strsplit.R: strsplit_ctl(str.2, "", ctl = 1:3) 143s Error in strsplit_ctl(str.2, "", ctl = "bananas") : 143s Argument `ctl` may contain only values in `c("all", "nl", "c0", "sgr", "csi", "esc", "url", "osc")` 143s Calls: unitize_dir ... eval -> withVisible -> strsplit_ctl -> VAL_IN_ENV -> stop2 143s 8/14 strsplit.R: strsplit_ctl(str.2, "", ctl = "bananas") 143s Error in strsplit_ctl("a b", str.bytes) : 143s Argument `split` may not be "bytes" encoded. 143s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> strsplit_ctl 143s 8/14 strsplit.R: strsplit_ctl("a b", str.bytes) 143s 8/14 strsplit.R: unitizer_sect("issue 55", { 143s 8/14 strsplit.R: strsplit_ctl("hello\nworld", "\n") 143s [[1]] 143s [1] "hello\nworld" 143s 143s 8/14 strsplit.R: strsplit_sgr("hello\033[31mworld", "\033[31m", fixed = TRUE) 143s [[1]] 143s [1] "hello\033[31mworld" 143s 143s 8/14 strsplit.R: strsplit_ctl("a\nb", "\n", ctl = c("all", "nl")) 143s [[1]] 143s [1] "a" "b" 143s 143s 8/14 strsplit.R: strsplit_sgr("hello\nworld", "\n") 143s [[1]] 143s [1] "hello" "world" 143s 143s 144s 9/14 substr.R: 144s 9/14 substr.R: library(fansi) 144s 9/14 substr.R: unitizer_sect("Simple", { 144s 9/14 substr.R: str01 <- sprintf("hello %sworld%s how", red, inv) 144s 9/14 substr.R: substr_ctl(str01, 1, 7) 144s [1] "hello \033[31mw\033[0m" 144s 9/14 substr.R: substr_ctl(str01, 7, 11) 144s [1] "\033[31mworld\033[0m" 144s 9/14 substr.R: substr_ctl(str01, 8, 10) 144s [1] "\033[31morl\033[0m" 144s 9/14 substr.R: substr_ctl(str01, 8, 14) 144s [1] "\033[31morld\033[7m ho\033[0m" 144s 9/14 substr.R: str02 <- sprintf("%shello world %sit's a %scrazy world%s out the 144s 9/14 substr.R: term.cap <- c("bright", "256", "truecolor") 144s 9/14 substr.R: substr_ctl(str02, 1, 7) 144s [1] "\033[42mhello w\033[0m" 144s 9/14 substr.R: substr_ctl(str02, 10, 20) 144s [1] "\033[42mld \033[31mit's a \033[0mc" 144s 9/14 substr.R: substr_ctl(str02, 15, 40, term.cap = term.cap) 144s [1] "\033[31;42m's a \033[0mcrazy world\033[4;38;2;0;120;200m out there\033[0m" 144s 9/14 substr.R: substr_ctl(str02, 35, 60, term.cap = term.cap) 144s [1] "\033[4;38;2;0;120;200m there \033[7misn't it\033[0m\033[48;5;141m right?\033[0m" 144s 9/14 substr.R: str03 <- sprintf("hello %sworld", rgb.und) 144s 9/14 substr.R: substr_ctl(str03, 1, 12, term.cap = term.cap) 144s [1] "hello \033[4;38;2;0;120;200mworld\033[0m" 144s 9/14 substr.R: str04 <- sprintf("hello%s%s world%s%s yowza", red, inv, grn.bg, 144s 9/14 substr.R: substr_ctl(str04, 5, 7, term.cap = term.cap) 144s [1] "o\033[31m\033[7m w\033[0m" 144s 9/14 substr.R: substr_ctl(str04, 5, 13, term.cap = term.cap) 144s [1] "o\033[31m\033[7m world\033[42m\033[4;38;2;0;120;200m y\033[0m" 144s 9/14 substr.R: unitizer_sect("Multi-line", { 144s 9/14 substr.R: str.m.0 <- paste0("\033[44m", c("hello world", rep("goodbye \033 144s 9/14 substr.R: substr_ctl(str.m.0, (1:4) * 2, (3:8) * 2) 144s [1] "\033[44mello \033[0m" "\033[44mdbye \033[0m" 144s [3] "\033[44mye \033[45mmo\033[0m" "\033[44mombas\033[0m" 144s 9/14 substr.R: unitizer_sect("tabs", { 144s 9/14 substr.R: substr2_ctl("yo\tworld", 1, 8, tabs.as.spaces = TRUE) 144s [1] "yo " 144s 9/14 substr.R: unitizer_sect("Corner cases", { 144s 9/14 substr.R: substr_ctl("hello", 0, -1) 144s [1] "" 144s 9/14 substr.R: substr_ctl("hello", 0, 0) 144s [1] "" 144s 9/14 substr.R: substr_ctl(rep("hello", 2), c(1, 0), c(1, 1)) 144s [1] "h" "h" 144s 9/14 substr.R: substr_ctl(character(), 1, 1) 144s character(0) 144s 9/14 substr.R: substr_ctl(list("hello", list("goodbye", "there")), 1, 2) 144s [1] "he" "li" 144s 9/14 substr.R: substr_ctl(structure(list(list("goodbye", "there")), class = "fo 144s [1] "li" 144s 9/14 substr.R: str.0 <- "\033[31mred\033[m" 144s 9/14 substr.R: str.1 <- "\033[31mred\033[42m" 144s 9/14 substr.R: str.2 <- c(str.0, str.1) 144s 9/14 substr.R: substr_ctl(str.2, 0, 0) 144s [1] "" "" 144s 9/14 substr.R: substr_ctl(str.2, 1, 1) 144s [1] "\033[31mr\033[0m" "\033[31mr\033[0m" 144s 9/14 substr.R: substr_ctl(str.2, 3, 3) 144s [1] "\033[31md\033[0m" "\033[31md\033[0m" 144s 9/14 substr.R: substr_ctl(str.2, 4, 4) 144s [1] "" "" 144s 9/14 substr.R: substr_ctl(str.2, 3, 4) 144s [1] "\033[31md\033[0m" "\033[31md\033[0m" 144s 9/14 substr.R: substr_ctl(str.2, 3, 5) 144s [1] "\033[31md\033[0m" "\033[31md\033[0m" 144s 9/14 substr.R: substr_ctl(str.2, 3, 4, terminate = FALSE) 144s [1] "\033[31md\033[m" "\033[31md\033[42m" 144s 9/14 substr.R: substr_ctl(str.2, 3, 5, terminate = FALSE) 144s [1] "\033[31md\033[m" "\033[31md\033[42m" 144s 9/14 substr.R: substr_ctl(str.2, -1, 2) 144s [1] "\033[31mre\033[0m" "\033[31mre\033[0m" 144s 9/14 substr.R: substr_ctl(str.2, -2, -1) 144s [1] "" "" 144s 9/14 substr.R: substr_ctl(str.2, 4, 1) 144s [1] "" "" 144s 9/14 substr.R: substr_ctl(str.2, 4, 1, terminate = FALSE) 144s [1] "" "" 144s 9/14 substr.R: substr_ctl(str.2, 4, 1, carry = "\033[44m") 144s [1] "" "" 144s 9/14 substr.R: substr_ctl(str.2, 4, 1, carry = "\033[44m", terminate = FALSE) 144s [1] "" "" 144s 9/14 substr.R: substr_ctl("hello", 5, 5) 144s [1] "o" 144s 9/14 substr.R: substr_ctl("hello", 6, 6) 144s [1] "" 144s 9/14 substr.R: substr_ctl("hello", 7, 6) 144s [1] "" 144s 9/14 substr.R: substr_ctl("hello", 6, 7) 144s [1] "" 144s 9/14 substr.R: substr_ctl("hello", 7, 5) 144s [1] "" 144s 9/14 substr.R: substr_ctl("hello", 0, 6) 144s [1] "hello" 144s 9/14 substr.R: substr_ctl("hello", 0, 5) 144s [1] "hello" 144s 9/14 substr.R: substr_ctl("hello", 1, 6) 144s [1] "hello" 144s 9/14 substr.R: substr_ctl("hello", "1", 1) 144s [1] "h" 144s 9/14 substr.R: substr_ctl("hello", 1, "1") 144s [1] "h" 144s 9/14 substr.R: substr_ctl("hello", "a", "b") 144s Warning in substr2_ctl(x = x, start = start, stop = stop, warn = warn, term.cap = term.cap, : 144s NAs introduced by coercion 144s Warning in substr2_ctl(x = x, start = start, stop = stop, warn = warn, term.cap = term.cap, : 144s NAs introduced by coercion 144s [1] NA 144s 9/14 substr.R: substr_ctl("hello", 1, NA_integer_) 144s [1] NA 144s 9/14 substr.R: substr_ctl("hello", NA_integer_, 1) 144s [1] NA 144s 9/14 substr.R: substr_ctl(rep("\033[31mhello\033[m", 3), c(3, 2, 1), c(3, 4, 144s [1] "\033[31ml\033[0m" "\033[31mell\033[0m" "\033[31mhello\033[0m" 144s 9/14 substr.R: str.3 <- structure("fu\033[42mba\033[0mr", class = "foo", at = " 144s 9/14 substr.R: substr_ctl(str.3, 2, 3) 144s [1] "u\033[42mb\033[0m" 144s attr(,"class") 144s [1] "foo" 144s attr(,"at") 144s [1] "bar" 144s 9/14 substr.R: substr_ctl(str.2, 2, 6, ctl = c("all", "sgr")) 144s [1] "[31mr" "[31mr" 144s 9/14 substr.R: substr_ctl(str.2, 8, 10, ctl = c("all", "sgr")) 144s [1] "d\033[" "d\033[" 144s 9/14 substr.R: substr2_ctl(rep("o\033[31m ", 2), 1:2, 1:2) 144s [1] "o" "\033[31m \033[0m" 144s 9/14 substr.R: substr_ctl("hello\033[41b", 1, 5) 144s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 144s 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. 144s [1] "hello" 144s 9/14 substr.R: substr_ctl("hello\033[41b", 1, 6) 144s [1] "hello\033[41b" 144s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 144s 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. 144s 9/14 substr.R: substr_ctl("\033[1p\033[31mA", 1, 1) 144s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 144s 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. 144s [1] "\033[31mA\033[0m" 144s 9/14 substr.R: substr_ctl("\033[1p\033[31mA", 0, 1) 144s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 144s 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. 144s [1] "\033[1p\033[31mA\033[0m" 144s 9/14 substr.R: substr_ctl("\033[1p\033[31mA", -1, 1) 144s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 144s 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. 144s [1] "\033[1p\033[31mA\033[0m" 144s 9/14 substr.R: substr_ctl("\033[31m\033[1pA", 1, 1) 144s [1] "\033[31mA\033[0m" 144s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 144s 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. 144s 9/14 substr.R: substr_ctl("\033[31m\033[1pA", 0, 1) 144s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 144s 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. 144s [1] "\033[31m\033[1pA\033[0m" 144s 9/14 substr.R: substr_ctl("\033[31m\033[1pA", -1, 1) 144s [1] "\033[31m\033[1pA\033[0m" 144s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 144s 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. 144s 9/14 substr.R: substr_ctl("\033[41m\033[1mA", 1, 1) 144s [1] "\033[1;41mA\033[0m" 144s 9/14 substr.R: substr_ctl("\033[41m\033[1mA", 0, 1) 144s [1] "\033[1;41mA\033[0m" 144s 9/14 substr.R: substr_ctl("\033[41m\033[1mA", -1, 1) 144s [1] "\033[1;41mA\033[0m" 144s 9/14 substr.R: str.4 <- c("A\033[45mB", "A") 144s 9/14 substr.R: substr_ctl(str.4, 1, 1, carry = TRUE, terminate = FALSE) 144s [1] "A" "\033[45mA" 144s 9/14 substr.R: substr_ctl("a\033[42", 1, 1) 144s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 144s 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. 144s [1] "a" 144s 9/14 substr.R: substr_ctl("a\033[42", 1, 2) 144s [1] "a\033[42" 144s 9/14 substr.R: substr_ctl("a\033[42", 1, 2, terminate = FALSE) 144s [1] "a\033[42" 144s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 144s 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. 144s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 144s 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. 144s 9/14 substr.R: substr_ctl("a\033]8;;END", 1, 1) 144s [1] "a" 144s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 144s 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. 144s 9/14 substr.R: substr_ctl("a\033]8;;END", 1, 2) 144s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 144s 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. 144s [1] "a" 144s 9/14 substr.R: substr_ctl("a\033]8;;END", 1, 2, terminate = FALSE) 144s [1] "a\033]8;;END" 144s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 144s 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. 144s 9/14 substr.R: substr_ctl("a\033];;END", 1, 1) 144s [1] "a" 144s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 144s 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. 144s 9/14 substr.R: substr_ctl("a\033];;END", 1, 2) 144s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 144s 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. 144s [1] "a\033];;END" 144s 9/14 substr.R: substr_ctl("a\033[38;5mb", 1, 2, term.cap = "all") 144s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 144s 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. 144s [1] "a\033[38;5mb" 144s 9/14 substr.R: substr_ctl("a\033[38;2mb", 1, 2, term.cap = "all") 144s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 144s 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. 144s [1] "a\033[38;2mb" 144s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 144s 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. 144s 9/14 substr.R: substr_ctl("a\033[38;2;255mb", 1, 2, term.cap = "all") 144s [1] "a\033[38;2;255mb" 144s 9/14 substr.R: substr_ctl("a\033[38;2;255;255mb", 1, 2, term.cap = "all") 144s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 144s 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. 144s [1] "a\033[38;2;255;255mb" 144s 9/14 substr.R: substr_ctl("\033[45pA", 1, 1, warn = FALSE) 144s [1] "A" 144s 9/14 substr.R: substr_ctl("\033[45pA", 0, 1, warn = FALSE) 144s [1] "\033[45pA" 144s 9/14 substr.R: substr_ctl(c("AB", NA, "CD"), 1, 2) 144s [1] "AB" NA "CD" 144s 9/14 substr.R: substr_ctl(c("AB", NA, "CD"), 1, 2, carry = TRUE) 144s [1] "AB" NA NA 144s 9/14 substr.R: substr_ctl(c("AB", "CD"), c(NA, 1), 2) 144s [1] NA "CD" 144s 9/14 substr.R: substr_ctl(c("AB", "CD"), c(NA, 1), 2, carry = TRUE) 144s [1] NA "CD" 144s 9/14 substr.R: substr_ctl("\033[38;5;4mA", 1, 1, term.cap = "bright") 144s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 144s Argument `x` contains a CSI SGR sequence with color codes not supported by terminal at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 144s [1] "\033[38;5;4mA\033[0m" 144s 9/14 substr.R: substr_ctl("\033[38;5;4mA", 1, 1, term.cap = c("bright", "old")) 144s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 144s Argument `x` contains a CSI SGR sequence with color codes not supported by terminal at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 144s [1] "\033[4;5mA\033[0m" 144s 9/14 substr.R: substr_ctl("\033[38;5;4mA", 1, 1, term.cap = c("all", "256")) 144s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 144s Argument `x` contains a CSI SGR sequence with color codes not supported by terminal at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 144s [1] "\033[38;5;4mA\033[0m" 144s 9/14 substr.R: substr_ctl("\033[38;5;4mA", 1, 1, term.cap = c("all", "256", 144s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 144s Argument `x` contains a CSI SGR sequence with color codes not supported by terminal at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 144s [1] "\033[4;5mA\033[0m" 144s 9/14 substr.R: substr_ctl("\033[38;5;4mA", 1, 1, term.cap = c("256")) 144s [1] "\033[38;5;4mA\033[0m" 144s 9/14 substr.R: substr_ctl("\033[38;5;4mA", 1, 1, term.cap = c("256", "old")) 144s [1] "\033[38;5;4mA\033[0m" 144s 9/14 substr.R: substr_ctl("\033[38;2;1;1;1mA", 1, 1, term.cap = "bright") 144s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 144s Argument `x` contains a CSI SGR sequence with color codes not supported by terminal at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 144s [1] "\033[38;2;1;1;1mA\033[0m" 144s 9/14 substr.R: substr_ctl("\033[38;2;1;1;1mA", 1, 1, term.cap = c("bright", 144s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 144s [1] "\033[1;2mA\033[0m" 144s Argument `x` contains a CSI SGR sequence with color codes not supported by terminal at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 144s 9/14 substr.R: substr_ctl("\033[38;2;1;1;1mA", 1, 1, term.cap = c("all", "truec 144s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 144s Argument `x` contains a CSI SGR sequence with color codes not supported by terminal at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 144s [1] "\033[38;2;1;1;1mA\033[0m" 144s 9/14 substr.R: substr_ctl("\033[38;2;1;1;1mA", 1, 1, term.cap = c("all", "truec 144s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 144s Argument `x` contains a CSI SGR sequence with color codes not supported by terminal at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 144s [1] "\033[1;2mA\033[0m" 144s 9/14 substr.R: substr_ctl("\033[38;2;1;1;1mA", 1, 1, term.cap = c("truecolor")) 144s [1] "\033[38;2;1;1;1mA\033[0m" 144s 9/14 substr.R: substr_ctl("\033[38;2;1;1;1mA", 1, 1, term.cap = c("truecolor", 144s [1] "\033[38;2;1;1;1mA\033[0m" 144s 9/14 substr.R: substr_ctl("\033[107mA", 1, 1, term.cap = "256") 144s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 144s Argument `x` contains a CSI SGR sequence with color codes not supported by terminal at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 144s [1] "\033[107mA\033[0m" 144s 9/14 substr.R: substr_ctl("\033[107mA", 1, 1, term.cap = c("256", "old")) 144s [1] "A" 144s 9/14 substr.R: substr_ctl("\033[107mA", 1, 1, term.cap = c("all", "bright")) 144s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 144s Argument `x` contains a CSI SGR sequence with color codes not supported by terminal at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 144s [1] "\033[107mA\033[0m" 144s 9/14 substr.R: substr_ctl("\033[107mA", 1, 1, term.cap = c("all", "bright", 144s [1] "A" 144s 9/14 substr.R: substr_ctl("\033[107mA", 1, 1, term.cap = c("bright")) 144s [1] "\033[107mA\033[0m" 144s 9/14 substr.R: substr_ctl("\033[107mA", 1, 1, term.cap = c("bright", "old")) 144s [1] "\033[107mA\033[0m" 144s 9/14 substr.R: str.5 <- c("\033[48;2;100;100;100mAB", "\033[48;2;100;100;100mCD 144s 9/14 substr.R: substr_ctl(str.5, 2, 2, terminate = FALSE, carry = TRUE, term.ca 144s [1] "\033[48;2;100;100;100mB" "D" 144s 9/14 substr.R: str.5a <- c("\033[48;2;100;100;100mAB", "\033[48;2;100;100;101mC 144s 9/14 substr.R: substr_ctl(str.5a, 2, 2, terminate = FALSE, carry = TRUE, term.c 144s [1] "\033[48;2;100;100;100mB" "\033[48;2;100;100;101mD" 144s 9/14 substr.R: unitizer_sect("Obscure escapes", { 144s 9/14 substr.R: tryCatch(substr_ctl("\033[38;6;31mworld\033[m", 2, 3), warning = 144s [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." 144s 9/14 substr.R: suppressWarnings(substr_ctl("\033[38;6;31mworld\033[m", 2, 3)) 144s [1] "\033[6;31mor\033[0m" 144s 9/14 substr.R: tryCatch(substr_ctl("\033[31mhello\033[38;5;256m world\033[m", 144s [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." 144s 9/14 substr.R: suppressWarnings(substr_ctl("\033[31mhello\033[38;5;256m world\0 144s [1] "\033[31mwo\033[0m" 144s 9/14 substr.R: substr_ctl("\033[20mworld\033[m", 2, 3) 144s [1] "\033[20mor\033[0m" 144s 9/14 substr.R: substr_ctl("\033[21mworld\033[m", 2, 3) 144s [1] "\033[21mor\033[0m" 144s 9/14 substr.R: substr_ctl(rep("\033[26mhello \033[50mworld\033[m", 2), c(2, 144s [1] "\033[26mel\033[0m" "orl" 144s 9/14 substr.R: substr_ctl(rep("\033[61mwor\033[65mld\033[m", 2), c(2, 4), c(3, 144s [1] "\033[61mor\033[0m" "ld" 144s 9/14 substr.R: tryCatch(substr_ctl("\033[56mworld\033[m", 2, 3), warning = cond 144s [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." 144s 9/14 substr.R: suppressWarnings(substr_ctl("\033[56mworld\033[m", 2, 3)) 144s [1] "or" 144s 9/14 substr.R: tryCatch(substr_ctl("\033[66mworld\033[m", 2, 3), warning = cond 144s [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." 144s 9/14 substr.R: tryCatch(substr_ctl("\033[200mworld\033[m", 2, 3), warning = con 144s [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." 144s 9/14 substr.R: substr_ctl(rep("\033[91mwor\033[101mld\033[m", 2), c(2, 4), c(3, 144s [1] "\033[91mor\033[0m" "\033[91;101mld\033[0m" 144s 9/14 substr.R: unitizer_sect("bad args", { 144s 9/14 substr.R: hello2.0 <- "\033[42m\thello world\033[m foobar" 144s 9/14 substr.R: substr2_ctl(hello2.0, 1, 2, warn = NULL) 144s Error in substr2_ctl(hello2.0, 1, 2, warn = NULL) : 144s Argument `warn` must be TRUE or FALSE. 144s Calls: unitize_dir ... eval -> withVisible -> substr2_ctl -> VAL_IN_ENV -> stop2 144s 9/14 substr.R: substr2_ctl(hello2.0, 1, 2, tabs.as.spaces = 1) 144s [1] "\033[42m \033[0m" 144s 9/14 substr.R: substr2_ctl(hello2.0, 1, 2, tabs.as.spaces = NA) 144s Error in substr2_ctl(hello2.0, 1, 2, tabs.as.spaces = NA) : 144s Argument `tabs.as.spaces` must be TRUE or FALSE. 144s Calls: unitize_dir ... eval -> withVisible -> substr2_ctl -> VAL_IN_ENV -> stop2 144s 9/14 substr.R: substr2_ctl(hello2.0, 1, 2, tab.stops = -(1:3)) 144s Error in substr2_ctl(hello2.0, 1, 2, tab.stops = -(1:3)) : 144s Argument `tab.stops` must be numeric, strictly positive, and representable as an integer. 144s Calls: unitize_dir ... eval -> withVisible -> substr2_ctl -> VAL_IN_ENV -> stop2 144s 9/14 substr.R: substr2_ctl(hello2.0, 1, 2, tab.stops = 0) 144s Error in substr2_ctl(hello2.0, 1, 2, tab.stops = 0) : 144s Argument `tab.stops` must be numeric, strictly positive, and representable as an integer. 144s Calls: unitize_dir ... eval -> withVisible -> substr2_ctl -> VAL_IN_ENV -> stop2 144s 9/14 substr.R: substr2_ctl(hello2.0, 1, 2, round = "bananas") 144s Error in substr2_ctl(hello2.0, 1, 2, round = "bananas") : 144s Argument `round` must partial match one of c("start", "stop", "both", "neither") 144s Calls: unitize_dir ... eval -> withVisible -> substr2_ctl -> VAL_IN_ENV -> stop2 144s 9/14 substr.R: substr2_ctl(hello2.0, 1, 2, term.cap = 0) 144s Error in substr2_ctl(hello2.0, 1, 2, term.cap = 0) : 144s Argument `term.cap` must be character. 144s Calls: unitize_dir ... eval -> withVisible -> substr2_ctl -> VAL_IN_ENV -> stop2 144s 9/14 substr.R: substr2_ctl(hello2.0, 1, 2, term.cap = "bananas") 144s Error in substr2_ctl(hello2.0, 1, 2, term.cap = "bananas") : 144s Argument `term.cap` may only contain values in c("all", "bright", "256", "truecolor", "old") 144s Calls: unitize_dir ... eval -> withVisible -> substr2_ctl -> VAL_IN_ENV -> stop2 144s 9/14 substr.R: substr2_ctl(hello2.0, 1, 2, type = "bananas") 144s Error in substr2_ctl(hello2.0, 1, 2, type = "bananas") : 144s Argument `type` must partial match one of c("chars", "width", "graphemes") 144s Calls: unitize_dir ... eval -> withVisible -> substr2_ctl -> VAL_IN_ENV -> stop2 145s 9/14 substr.R: substr2_ctl(hello2.0, 1, 2, ctl = "bananas") 145s Error in substr2_ctl(hello2.0, 1, 2, ctl = "bananas") : 145s Argument `ctl` may contain only values in `c("all", "nl", "c0", "sgr", "csi", "esc", "url", "osc")` 145s Calls: unitize_dir ... eval -> withVisible -> substr2_ctl -> VAL_IN_ENV -> stop2 145s 9/14 substr.R: substr2_ctl(hello2.0, 1, 2, ctl = 0) 145s Error in substr2_ctl(hello2.0, 1, 2, ctl = 0) : 145s Argument `ctl` must be character. 145s Calls: unitize_dir ... eval -> withVisible -> substr2_ctl -> VAL_IN_ENV -> stop2 145s 9/14 substr.R: unitizer_sect("`ctl` related issues", { 145s 9/14 substr.R: substr_sgr("\033[31;42mhello world", 2, 4) 145s [1] "\033[31;42mell\033[0m" 145s 9/14 substr.R: substr_sgr("\033[31m\033[42mhello world", 2, 4) 145s [1] "\033[31;42mell\033[0m" 145s 9/14 substr.R: tryCatch(substr_sgr("\033[31;42!mhello world", 2, 4), warning = 145s [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." 145s 9/14 substr.R: substr_sgr("\033[55;38l\033[31mhello world", 2, 4, warn = FALSE) 145s [1] "[55" 145s 9/14 substr.R: substr_sgr("\033[31m\033[55;38lhello world", 2, 4, warn = FALSE) 145s [1] "\033[31m[55\033[0m" 145s 9/14 substr.R: substr_sgr("hello \033[31m\033[55;38lworld", 7, 9, warn = FALSE) 145s [1] "\033[31m\033[5\033[0m" 145s 9/14 substr.R: substr_ctl("\033[55;38l\033[31mhello world", 2, 4, warn = FALSE) 145s [1] "\033[31mell\033[0m" 145s 9/14 substr.R: substr_ctl("\033[31m\033[55;38lhello world", 2, 4, warn = FALSE) 145s [1] "\033[31mell\033[0m" 145s 9/14 substr.R: substr_ctl("hello \033[31m\033[55;38lworld", 7, 9, warn = FALSE) 145s [1] "\033[31mwor\033[0m" 145s 9/14 substr.R: substr_ctl("hello\033[55;38l \033[31mworld", 4, 7, warn = FALSE) 145s [1] "lo\033[55;38l \033[31mw\033[0m" 145s 9/14 substr.R: substr_sgr("ab\n\tcd\n", 3, 6, warn = FALSE) 145s [1] "\n\tcd" 145s 9/14 substr.R: substr_sgr("ab\n\033[31m\tcd\n", 3, 6, warn = FALSE) 145s [1] "\n\033[31m\tcd\033[0m" 145s 9/14 substr.R: substr_ctl("ab\n\033[31m\tcd\n", 3, 6, warn = FALSE, ctl = c("al 145s [1] "\n\033[31m\tcd\n\033[0m" 145s 9/14 substr.R: substr_ctl("ab\n\033[31m\tcd\n", 3, 6, warn = FALSE, ctl = c("al 145s [1] "\n\033[31m\tcd\033[0m" 145s 9/14 substr.R: substr_sgr(c("\a", "b", "c"), 1, 1) 145s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 145s Argument `x` contains a C0 control character at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 145s [1] "\a" "b" "c" 145s 9/14 substr.R: substr_sgr(c("a", "\b", "c"), 1, 1) 145s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 145s Argument `x` contains a C0 control character at index [2], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 145s [1] "a" "\b" "c" 145s 9/14 substr.R: substr_sgr(c("a", "b", "\ac"), 1, 1) 145s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 145s Argument `x` contains a C0 control character at index [3], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 145s [1] "a" "b" "\a" 145s 9/14 substr.R: unitizer_sect("Rep Funs - Equivalence", { 145s 9/14 substr.R: txt0 <- "ABCD" 145s 9/14 substr.R: identical(`substr_ctl<-`(txt0, 2, 2, value = "#"), `substr<-`(tx 145s [1] TRUE 145s 9/14 substr.R: identical(`substr_ctl<-`(txt0, 2, 2, value = "#?"), `substr<-`(t 145s [1] TRUE 145s 9/14 substr.R: identical(`substr_ctl<-`(txt0, 2, 3, value = "#?-"), `substr<-`( 145s [1] TRUE 145s 9/14 substr.R: identical(`substr_ctl<-`(txt0, 0, 0, value = "#"), `substr<-`(tx 145s [1] TRUE 145s 9/14 substr.R: identical(`substr_ctl<-`(txt0, 2, 1, value = "#"), `substr<-`(tx 145s [1] TRUE 145s 9/14 substr.R: identical(`substr_ctl<-`(txt0, 10, 12, value = "#"), `substr<-`( 145s [1] TRUE 145s 9/14 substr.R: identical(`substr_ctl<-`(txt0, 2, 3, value = "#"), `substr<-`(tx 145s [1] TRUE 145s 9/14 substr.R: identical(`substr_ctl<-`(txt0, 1, 5, value = "#"), `substr<-`(tx 145s [1] TRUE 145s 9/14 substr.R: identical(`substr_ctl<-`(txt0, 0, 5, value = "#"), `substr<-`(tx 145s [1] TRUE 145s 9/14 substr.R: `substr_ctl<-`(txt0, 0, -1, value = "#") 145s [1] "ABCD" 145s 9/14 substr.R: rep1 <- c("_", "_.") 145s 9/14 substr.R: rep2 <- c("_", "_.", "...") 145s 9/14 substr.R: identical(`substr_ctl<-`(txt0, 2, 3, value = rep1), `substr<-`(t 145s [1] TRUE 145s 9/14 substr.R: identical(`substr_ctl<-`(txt0, 2, 3, value = rep2), `substr<-`(t 145s [1] TRUE 145s 9/14 substr.R: txt1 <- c("AB", "CDE") 145s 9/14 substr.R: identical(`substr_ctl<-`(txt1, 2, 3, value = "_"), `substr<-`(tx 145s [1] TRUE 145s 9/14 substr.R: identical(`substr_ctl<-`(txt1, 2, 3, value = rep1), `substr<-`(t 145s [1] TRUE 145s 9/14 substr.R: identical(`substr_ctl<-`(txt1, 2, 3, value = rep2), `substr<-`(t 145s [1] TRUE 145s 9/14 substr.R: txt2 <- c("AB", "CDE", "EFGH") 145s 9/14 substr.R: identical(`substr_ctl<-`(txt2, 2, 3, value = "_"), `substr<-`(tx 145s [1] TRUE 145s 9/14 substr.R: identical(`substr_ctl<-`(txt2, 2, 3, value = rep1), `substr<-`(t 145s [1] TRUE 145s 9/14 substr.R: identical(`substr_ctl<-`(txt2, 2, 3, value = rep2), `substr<-`(t 145s [1] TRUE 145s 9/14 substr.R: txt3a <- txt3b <- c("ABC", "ABC") 145s 9/14 substr.R: substr(txt3a[2], 2, 2) <- "_" 145s 9/14 substr.R: substr_ctl(txt3b[2], 2, 2) <- "_" 145s 9/14 substr.R: identical(txt3a, txt3b) 145s [1] TRUE 145s 9/14 substr.R: identical(`substr_ctl<-`(txt0, 2, 3, value = NA_character_), 145s [1] TRUE 145s 9/14 substr.R: txt.na <- NA_character_ 145s 9/14 substr.R: identical(`substr_ctl<-`(txt.na, 1, 2, value = "AB"), `substr<-` 145s [1] TRUE 145s 9/14 substr.R: unitizer_sect("Rep Funs - SGR", { 145s 9/14 substr.R: txt1 <- "\033[33mABCD" 145s 9/14 substr.R: txt2 <- "\033[33mA\033[44mBCD" 145s 9/14 substr.R: txt3 <- "\033[33mA\033[44mBC\033[1mD" 145s 9/14 substr.R: `substr_ctl<-`(txt1, 2, 2, value = "#") 145s [1] "\033[33mA\033[0m#\033[33mCD" 145s 9/14 substr.R: `substr_ctl<-`(txt1, 2, 3, value = "#?-") 145s [1] "\033[33mA\033[0m#?\033[33mD" 145s 9/14 substr.R: `substr_ctl<-`(txt1, 2, 3, value = "#\033[32m?-") 145s [1] "\033[33mA\033[0m#\033[32m?\033[0m\033[33mD" 145s 9/14 substr.R: `substr_ctl<-`(txt1, 2, 3, value = "#\033[32m?-\033[0m") 145s [1] "\033[33mA\033[0m#\033[32m?\033[0m\033[33mD" 145s 9/14 substr.R: `substr_ctl<-`(txt1, 2, 3, value = "#\033[0m?-") 145s [1] "\033[33mA\033[0m#\033[0m?\033[33mD" 145s 9/14 substr.R: `substr_ctl<-`(txt2, 2, 3, value = "#\033[32m?-") 145s [1] "\033[33mA\033[0m#\033[32m?\033[0m\033[33;44mD" 145s 9/14 substr.R: `substr_ctl<-`(txt2, 2, 3, value = "#\033[32m?-\033[0m") 145s [1] "\033[33mA\033[0m#\033[32m?\033[0m\033[33;44mD" 145s 9/14 substr.R: `substr_ctl<-`(txt2, 2, 3, value = "#\033[0m?-") 145s [1] "\033[33mA\033[0m#\033[0m?\033[33;44mD" 145s 9/14 substr.R: `substr_ctl<-`(txt3, 2, 3, value = "#\033[32m?-") 145s [1] "\033[33mA\033[0m#\033[32m?\033[0m\033[1;33;44mD" 145s 9/14 substr.R: `substr_ctl<-`(txt3, 2, 3, value = "#\033[32m?-\033[0m") 145s [1] "\033[33mA\033[0m#\033[32m?\033[0m\033[1;33;44mD" 145s 9/14 substr.R: `substr_ctl<-`(txt3, 2, 3, value = "#\033[0m?-") 145s [1] "\033[33mA\033[0m#\033[0m?\033[1;33;44mD" 145s 9/14 substr.R: `substr_ctl<-`(txt2, 2, 2, terminate = FALSE, value = "#") 145s [1] "\033[33mA#\033[44mCD" 145s 9/14 substr.R: `substr_ctl<-`(txt2, 2, 3, terminate = FALSE, value = "#\033[32m 145s [1] "\033[33mA#\033[32m?\033[44mD" 145s 9/14 substr.R: `substr_ctl<-`(txt2, 2, 3, terminate = FALSE, value = "#\033[32m 145s [1] "\033[33mA#\033[32m?\033[44mD" 145s 9/14 substr.R: `substr_ctl<-`(txt2, 2, 3, terminate = FALSE, value = "#\033[0m? 145s [1] "\033[33mA#\033[0m?\033[44mD" 145s 9/14 substr.R: `substr_ctl<-`(txt1, 2, 3, terminate = FALSE, value = "#\033[0m? 145s [1] "\033[33mA#\033[0m?D" 145s 9/14 substr.R: `substr_ctl<-`(txt1, 2, 3, terminate = FALSE, value = "#\033[0m\ 145s [1] "\033[33mA#\033[0m\033[45m?D" 145s 9/14 substr.R: txt4 <- c(txt2, txt0, "\033[39mABCD") 145s 9/14 substr.R: `substr_ctl<-`(txt4, 2, 3, value = "#") 145s [1] "\033[33mA\033[0m#\033[33;44mCD" "A#CD" 145s [3] "\033[39mA#CD" 145s 9/14 substr.R: `substr_ctl<-`(txt4, 2, 3, value = c("#", "?")) 145s [1] "\033[33mA\033[0m#\033[33;44mCD" "A?CD" 145s [3] "\033[39mA#CD" 145s 9/14 substr.R: `substr_ctl<-`(txt4, 2, 3, value = c("#", "?", "$")) 145s [1] "\033[33mA\033[0m#\033[33;44mCD" "A?CD" 145s [3] "\033[39mA$CD" 145s 9/14 substr.R: `substr_ctl<-`(txt4, 2, 2, carry = TRUE, value = "#") 145s [1] "\033[33mA\033[0m#\033[33;44mCD" "A\033[0m#\033[33;44mCD" 145s [3] "\033[39mA\033[0m#\033[44mCD" 145s 9/14 substr.R: `substr_ctl<-`(txt4, 2, 3, carry = TRUE, value = "#\033[32m?-") 145s [1] "\033[33mA\033[0m#\033[32m?\033[0m\033[33;44mD" 145s [2] "A\033[0m\033[32m#\033[32m?\033[0m\033[33;44mD" 145s [3] "\033[39mA\033[0m\033[32m#\033[32m?\033[0m\033[44mD" 145s 9/14 substr.R: `substr_ctl<-`(txt4, 2, 3, carry = TRUE, value = "#\033[42m?-\03 145s [1] "\033[33mA\033[0m#\033[42m?\033[0m\033[33;44mD" 145s [2] "A\033[0m#\033[42m?\033[0m\033[33;44mD" 145s [3] "\033[39mA\033[0m#\033[42m?\033[0m\033[44mD" 145s 9/14 substr.R: `substr_ctl<-`(txt4, 2, 3, carry = TRUE, value = "#\033[0m?-") 145s [1] "\033[33mA\033[0m#\033[0m?\033[33;44mD" 145s [2] "A\033[0m#\033[0m?\033[33;44mD" 145s [3] "\033[39mA\033[0m#\033[0m?\033[44mD" 145s 9/14 substr.R: rep4 <- c("\033[32m_\033[45m", ".-", "\033[39m__") 145s 9/14 substr.R: `substr_ctl<-`(txt4, 2, 3, carry = TRUE, value = rep4) 145s [1] "\033[33mA\033[0m\033[32m_\033[0m\033[33;44mCD" 145s [2] "A\033[0m\033[32;45m.-\033[0m\033[33;44mD" 145s [3] "\033[39mA\033[0m\033[45m__\033[0m\033[44mD" 145s 9/14 substr.R: `substr_ctl<-`(txt4, 2, 2, terminate = FALSE, carry = TRUE, valu 145s [1] "\033[33mA#\033[44mCD" "A#CD" "\033[39mA#CD" 145s 9/14 substr.R: `substr_ctl<-`(txt4, 2, 3, terminate = FALSE, carry = TRUE, valu 145s [1] "\033[33mA#\033[32m?\033[44mD" "A#\033[32m?D" 145s [3] "\033[39mA#\033[32m?D" 145s 9/14 substr.R: `substr_ctl<-`(txt4, 2, 3, terminate = FALSE, carry = TRUE, valu 145s [1] "\033[33mA#\033[35m?\033[44mD" "A\033[0m#\033[35m?D" 145s [3] "\033[39mA\033[0m#\033[35m?D" 145s 9/14 substr.R: `substr_ctl<-`(txt4, 2, 3, terminate = FALSE, carry = TRUE, valu 145s [1] "\033[33mA#\033[0m?\033[44mD" "A#\033[0m?D" 145s [3] "\033[39mA#\033[0m?D" 145s 9/14 substr.R: `substr_ctl<-`(txt4, 2, 3, terminate = FALSE, carry = TRUE, valu 145s [1] "\033[33mA\033[32m_\033[45m\033[44mCD" 145s [2] "A.-D" 145s [3] "\033[39mA\033[0;45m__D" 145s 9/14 substr.R: txt5 <- c("ABD", "DFG") 145s 9/14 substr.R: `substr_ctl<-`(txt5, 2, 2, value = ".\033[45m", carry = TRUE, 145s [1] "A.D" "D\033[45m.G" 145s 9/14 substr.R: txt6 <- "A123456789B" 145s 9/14 substr.R: `substr2_ctl<-`(txt6, 2, 9, value = "\t", tabs.as.spaces = TRUE) 145s [1] "A 9B" 145s 9/14 substr.R: `substr2_ctl<-`(txt6, 2, 3, value = "\t", tabs.as.spaces = TRUE) 145s [1] "A 3456789B" 145s 9/14 substr.R: `substr2_ctl<-`(txt6, 2, 10, value = "\t", tabs.as.spaces = TRUE 145s [1] "A 9B" 145s 9/14 substr.R: txt7a <- "os" 145s 9/14 substr.R: txt7b <- "sos" 145s 9/14 substr.R: txt7c <- "so" 145s 9/14 substr.R: val.scar <- "" 145s 9/14 substr.R: Encoding(`substr_ctl<-`(txt7a, 1, 1, value = val.scar)) 145s [1] "UTF-8" 145s 9/14 substr.R: Encoding(`substr_ctl<-`(txt7a, 1, 1, value = "s")) 145s [1] "unknown" 145s 9/14 substr.R: Encoding(`substr_ctl<-`(txt7a, 2, 2, value = val.scar)) 145s [1] "UTF-8" 145s 9/14 substr.R: Encoding(`substr_ctl<-`(txt7a, 2, 2, value = "s")) 145s [1] "UTF-8" 145s 9/14 substr.R: Encoding(`substr_ctl<-`(txt7b, 2, 2, value = val.scar)) 145s [1] "UTF-8" 145s 9/14 substr.R: Encoding(`substr_ctl<-`(txt7b, 2, 2, value = "s")) 145s [1] "unknown" 145s 9/14 substr.R: Encoding(`substr_ctl<-`(txt7c, 3, 3, value = val.scar)) 145s [1] "UTF-8" 145s 9/14 substr.R: Encoding(`substr_ctl<-`(txt7c, 3, 3, value = "s")) 145s [1] "unknown" 145s 9/14 substr.R: unitizer_sect("Rep Funs - Corner Cases", { 145s 9/14 substr.R: `substr_ctl<-`(txt2, 1, 3, terminate = FALSE, value = "#\033[32m 145s [1] "\033[33m#\033[32m?\033[0m\033[44mCD" 145s 9/14 substr.R: txt8 <- "\033[32mAB\033[45m" 145s 9/14 substr.R: `substr_ctl<-`(txt8, 1, 2, value = "12") 145s [1] "\033[32m\033[0m12\033[32m\033[45m" 145s 9/14 substr.R: `substr_ctl<-`(txt8, 1, 2, value = "12", terminate = FALSE) 145s [1] "\033[32m12\033[45m" 145s 9/14 substr.R: `substr_ctl<-`(txt8, 1, 3, value = "12") 145s [1] "\033[32m\033[0m12" 145s 9/14 substr.R: `substr_ctl<-`(txt8, 1, 3, value = "1") 145s [1] "\033[32m\033[0m1\033[32mB\033[45m" 145s 9/14 substr.R: `substr_ctl<-`(txt8, 1, 3, value = "") 145s [1] "\033[32mAB\033[45m" 145s 9/14 substr.R: `substr_ctl<-`(txt8, 1, 3, value = "123") 145s [1] "\033[32m\033[0m12" 145s 9/14 substr.R: `substr_ctl<-`(txt8, 0, 2, value = "12") 145s [1] "12\033[32m\033[45m" 145s 9/14 substr.R: `substr_ctl<-`(txt8, 0, 3, value = "12") 145s [1] "12" 145s 9/14 substr.R: `substr_ctl<-`(txt8, 1, 3, value = "\033[1m", terminate = FALSE) 145s [1] "\033[32m\033[1mAB\033[45m" 145s 9/14 substr.R: tce(`substr_ctl<-`(txt8, 1, 3, value = "A", carry = "\033[41m")) 145s [1] "Argument `carry` must be TRUE or FALSE in replacement mode." 145s 9/14 substr.R: lat <- "fa\347ile" 145s 9/14 substr.R: Encoding(lat) <- "latin1" 145s 9/14 substr.R: tce(`substr_ctl<-`(lat, 1, 3, value = "ABC")) 145s [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]." 145s 9/14 substr.R: txt.na2 <- c("AB", NA, "BC") 145s 9/14 substr.R: `substr_ctl<-`(txt.na2, 1, 1, value = "#") 145s [1] "#B" NA "#C" 145s 9/14 substr.R: txt.nona <- c("AB", "BC", "CD") 145s 9/14 substr.R: `substr_ctl<-`(txt.nona, 1, 1, value = c("#", NA), carry = TRUE) 145s [1] "#B" NA NA 145s 145s 10/14 tabs.R: 145s 10/14 tabs.R: library(unitizer) 145s 10/14 tabs.R: library(fansi) 146s 10/14 tabs.R: unitizer_sect("simple tabs", { 146s 10/14 tabs.R: string <- "1\t12\t123\t1234\t12345678" 146s 10/14 tabs.R: tabs_as_spaces(string) 146s [1] "1 12 123 1234 12345678" 146s 10/14 tabs.R: tabs_as_spaces(string, c(2, 3, 4, 5, 8)) 146s [1] "1 12 123 1234 12345678" 146s 10/14 tabs.R: tabs_as_spaces(string, c(2, 8)) 146s [1] "1 12 123 1234 12345678" 146s 10/14 tabs.R: tabs_as_spaces(1:3) 146s [1] "1" "2" "3" 146s 10/14 tabs.R: unitizer_sect("newlines", { 146s 10/14 tabs.R: string.n <- paste0("1\t12\t123\t1234\t12345678\n", "1\t12\t123\t12 146s 10/14 tabs.R: tabs_as_spaces(string.n) 146s [1] "1 12 123 1234 12345678\n1 12 123 1234 12345678" 146s 10/14 tabs.R: tabs_as_spaces(string.n, c(2, 3, 4, 8)) 146s [1] "1 12 123 1234 12345678\n1 12 123 1234 12345678" 146s 10/14 tabs.R: tabs_as_spaces(string.n, c(2, 8)) 146s [1] "1 12 123 1234 12345678\n1 12 123 1234 12345678" 146s 10/14 tabs.R: unitizer_sect("corner cases", { 146s 10/14 tabs.R: tabs_as_spaces("") 146s [1] "" 146s 10/14 tabs.R: tabs_as_spaces("\t") 146s [1] " " 146s 10/14 tabs.R: tabs_as_spaces("\n") 146s [1] "\n" 146s 10/14 tabs.R: tabs_as_spaces(c(string, string, string)) 146s [1] "1 12 123 1234 12345678" 146s [2] "1 12 123 1234 12345678" 146s [3] "1 12 123 1234 12345678" 146s 10/14 tabs.R: tabs_as_spaces("\t\t") 146s [1] " " 146s 10/14 tabs.R: unitizer_sect("bad inputs", { 146s Error in tabs_as_spaces(string, warn = 1:3) : 146s Argument `warn` must be TRUE or FALSE. 146s Calls: unitize_dir ... withVisible -> tabs_as_spaces -> VAL_IN_ENV -> stop2 146s 10/14 tabs.R: tabs_as_spaces(string, warn = 1:3) 146s 10/14 tabs.R: tabs_as_spaces(string, tab.stops = "hello") 146s Error in tabs_as_spaces(string, tab.stops = "hello") : 146s Argument `tab.stops` must be numeric, strictly positive, and representable as an integer. 146s Calls: unitize_dir ... withVisible -> tabs_as_spaces -> VAL_IN_ENV -> stop2 146s 10/14 tabs.R: tabs_as_spaces(string, ctl = "hello") 146s Error in tabs_as_spaces(string, ctl = "hello") : 146s Argument `ctl` may contain only values in `c("all", "nl", "c0", "sgr", "csi", "esc", "url", "osc")` 146s Calls: unitize_dir ... withVisible -> tabs_as_spaces -> VAL_IN_ENV -> stop2 146s 10/14 tabs.R: tabs_as_spaces(string, ctl = 0) 146s Error in tabs_as_spaces(string, ctl = 0) : 146s Argument `ctl` must be character. 146s Calls: unitize_dir ... withVisible -> tabs_as_spaces -> VAL_IN_ENV -> stop2 146s 146s 11/14 tohtml.R: 146s 11/14 tohtml.R: library(unitizer) 146s 11/14 tohtml.R: library(fansi) 146s 11/14 tohtml.R: unitizer_sect("colors", { 146s 11/14 tohtml.R: style <- "width: 16px; height: 16px; display: inline-block;" 146s 11/14 tohtml.R: span <- "" 146s 11/14 tohtml.R: colors.8 <- fansi:::esc_color_code_to_html(rbind(c(0:7), 0L, 146s 11/14 tohtml.R: colors.8 146s [1] "#000000" "#BB0000" "#00BB00" "#BBBB00" "#0000BB" "#BB00BB" "#00BBBB" 146s [8] "#BBBBBB" 146s 11/14 tohtml.R: fansi:::esc_color_code_to_html(matrix(c(9L, 0L, 0L, 0L, 0L))) 146s Error in fansi:::esc_color_code_to_html(matrix(c(9L, 0L, 0L, 0L, 0L))) : 146s Internal Error: applying non-color. 146s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> 146s 11/14 tohtml.R: colors.255 <- fansi:::esc_color_code_to_html(rbind(8L, 5L, 0:255 146s 11/14 tohtml.R: colors.255 146s [1] "#000000" "#800000" "#008000" "#808000" "#000080" "#800080" "#008080" 146s [8] "#C0C0C0" "#808080" "#FF0000" "#00FF00" "#FFFF00" "#0000FF" "#FF00FF" 146s [15] "#00FFFF" "#FFFFFF" "#000000" "#00005F" "#000087" "#0000AF" "#0000D7" 146s [22] "#0000FF" "#005F00" "#005F5F" "#005F87" "#005FAF" "#005FD7" "#005FFF" 146s [29] "#008700" "#00875F" "#008787" "#0087AF" "#0087D7" "#0087FF" "#00AF00" 146s [36] "#00AF5F" "#00AF87" "#00AFAF" "#00AFD7" "#00AFFF" "#00D700" "#00D75F" 146s [43] "#00D787" "#00D7AF" "#00D7D7" "#00D7FF" "#00FF00" "#00FF5F" "#00FF87" 146s [50] "#00FFAF" "#00FFD7" "#00FFFF" "#5F0000" "#5F005F" "#5F0087" "#5F00AF" 146s [57] "#5F00D7" "#5F00FF" "#5F5F00" "#5F5F5F" "#5F5F87" "#5F5FAF" "#5F5FD7" 146s [64] "#5F5FFF" "#5F8700" "#5F875F" "#5F8787" "#5F87AF" "#5F87D7" "#5F87FF" 146s [71] "#5FAF00" "#5FAF5F" "#5FAF87" "#5FAFAF" "#5FAFD7" "#5FAFFF" "#5FD700" 146s [78] "#5FD75F" "#5FD787" "#5FD7AF" "#5FD7D7" "#5FD7FF" "#5FFF00" "#5FFF5F" 146s [85] "#5FFF87" "#5FFFAF" "#5FFFD7" "#5FFFFF" "#870000" "#87005F" "#870087" 146s [92] "#8700AF" "#8700D7" "#8700FF" "#875F00" "#875F5F" "#875F87" "#875FAF" 146s [99] "#875FD7" "#875FFF" "#878700" "#87875F" "#878787" "#8787AF" "#8787D7" 146s [106] "#8787FF" "#87AF00" "#87AF5F" "#87AF87" "#87AFAF" "#87AFD7" "#87AFFF" 146s [113] "#87D700" "#87D75F" "#87D787" "#87D7AF" "#87D7D7" "#87D7FF" "#87FF00" 146s [120] "#87FF5F" "#87FF87" "#87FFAF" "#87FFD7" "#87FFFF" "#AF0000" "#AF005F" 146s [127] "#AF0087" "#AF00AF" "#AF00D7" "#AF00FF" "#AF5F00" "#AF5F5F" "#AF5F87" 146s [134] "#AF5FAF" "#AF5FD7" "#AF5FFF" "#AF8700" "#AF875F" "#AF8787" "#AF87AF" 146s [141] "#AF87D7" "#AF87FF" "#AFAF00" "#AFAF5F" "#AFAF87" "#AFAFAF" "#AFAFD7" 146s [148] "#AFAFFF" "#AFD700" "#AFD75F" "#AFD787" "#AFD7AF" "#AFD7D7" "#AFD7FF" 146s [155] "#AFFF00" "#AFFF5F" "#AFFF87" "#AFFFAF" "#AFFFD7" "#AFFFFF" "#D70000" 146s [162] "#D7005F" "#D70087" "#D700AF" "#D700D7" "#D700FF" "#D75F00" "#D75F5F" 146s [169] "#D75F87" "#D75FAF" "#D75FD7" "#D75FFF" "#D78700" "#D7875F" "#D78787" 146s [176] "#D787AF" "#D787D7" "#D787FF" "#D7AF00" "#D7AF5F" "#D7AF87" "#D7AFAF" 146s [183] "#D7AFD7" "#D7AFFF" "#D7D700" "#D7D75F" "#D7D787" "#D7D7AF" "#D7D7D7" 146s [190] "#D7D7FF" "#D7FF00" "#D7FF5F" "#D7FF87" "#D7FFAF" "#D7FFD7" "#D7FFFF" 146s [197] "#FF0000" "#FF005F" "#FF0087" "#FF00AF" "#FF00D7" "#FF00FF" "#FF5F00" 146s [204] "#FF5F5F" "#FF5F87" "#FF5FAF" "#FF5FD7" "#FF5FFF" "#FF8700" "#FF875F" 146s [211] "#FF8787" "#FF87AF" "#FF87D7" "#FF87FF" "#FFAF00" "#FFAF5F" "#FFAF87" 146s [218] "#FFAFAF" "#FFAFD7" "#FFAFFF" "#FFD700" "#FFD75F" "#FFD787" "#FFD7AF" 146s [225] "#FFD7D7" "#FFD7FF" "#FFFF00" "#FFFF5F" "#FFFF87" "#FFFFAF" "#FFFFD7" 146s [232] "#FFFFFF" "#080808" "#121212" "#1C1C1C" "#262626" "#303030" "#3A3A3A" 146s [239] "#444444" "#4E4E4E" "#585858" "#626262" "#6C6C6C" "#767676" "#808080" 146s [246] "#8A8A8A" "#949494" "#9E9E9E" "#A8A8A8" "#B2B2B2" "#BCBCBC" "#C6C6C6" 146s [253] "#D0D0D0" "#DADADA" "#E4E4E4" "#EEEEEE" 146s 11/14 tohtml.R: vals <- c(0L, 127L, 255L) 146s 11/14 tohtml.R: colors.tru <- fansi:::esc_color_code_to_html(do.call(rbind, c(li 146s 11/14 tohtml.R: colors.tru 146s [1] "#000000" "#7F0000" "#FF0000" "#007F00" "#7F7F00" "#FF7F00" "#00FF00" 146s [8] "#7FFF00" "#FFFF00" "#00007F" "#7F007F" "#FF007F" "#007F7F" "#7F7F7F" 146s [15] "#FF7F7F" "#00FF7F" "#7FFF7F" "#FFFF7F" "#0000FF" "#7F00FF" "#FF00FF" 146s [22] "#007FFF" "#7F7FFF" "#FF7FFF" "#00FFFF" "#7FFFFF" "#FFFFFF" 146s 11/14 tohtml.R: unitizer_sect("simple html conversion", { 146s 11/14 tohtml.R: as_html_page <- function(x) { 146s 11/14 tohtml.R: sgr_to_html("hello \033[31;42;1mworld\033[0m") 146s [1] "hello world" 146s 11/14 tohtml.R: sgr_to_html("hello \033[31;48;5;23;1mworld\033[m") 146s [1] "hello world" 146s 11/14 tohtml.R: sgr_to_html("\033[1mbold\033[22m \033[2mfaint\033[22m \033[mital 146s [1] "bold faint italic\n" 146s 11/14 tohtml.R: csi_string <- c("\033[1mbold\033[22m \033[2mfaint\033[22m \033[3 146s 11/14 tohtml.R: html_string <- sgr_to_html(csi_string) 146s 11/14 tohtml.R: html_string 146s [1] "bold faint italic" 146s [2] "underline slow-blink" 146s [3] "fast-blink" 146s [4] "red-fg-green-bginverse inverse-off" 146s [5] "conceal reveal crossed-outclear" 146s [6] "bold faint italic" 146s [7] "underline slow-blink" 146s [8] "fast-blink" 146s [9] "red-fg-green-bginverse inverse-off" 146s [10] "conceal reveal crossed-outclear" 146s [11] "italic again not italic?" 146s 11/14 tohtml.R: unitizer_sect("Bright Colors", { 146s 11/14 tohtml.R: sgr_to_html("hello\033[94;101m world\033[39m yow\033[49mza") 146s [1] "hello world yowza" 146s 11/14 tohtml.R: sgr_to_html("hello\033[98;101m world\033[39m yow\033[49mza") 146s Warning in to_html_int(x = x, warn = warn, term.cap = term.cap, classes = classes, : 146s Argument `x` contains a CSI SGR sequence with unknown substrings or a OSC hyperlink with unsupported parameters at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 146s [1] "hello world yowza" 146s 11/14 tohtml.R: unitizer_sect("Corner cases", { 146s 11/14 tohtml.R: sgr_to_html("hello\033[0m") 146s [1] "hello" 146s 11/14 tohtml.R: sgr_to_html("hello\033[31m") 146s [1] "hello" 146s 11/14 tohtml.R: sgrs <- paste0(rep("\033[31m", 20), collapse = "") 146s 11/14 tohtml.R: sgr_to_html(sprintf("%shello world\033[m", sgrs)) 146s [1] "hello world" 146s 11/14 tohtml.R: sgr_to_html(1:3) 146s [1] "1" "2" "3" 146s 11/14 tohtml.R: sgr_to_html("\033[31mhello\033[m\033[42m world\033[m") 146s [1] "hello world" 146s 11/14 tohtml.R: sgr_to_html("\033[33mhello") 146s [1] "hello" 146s 11/14 tohtml.R: sgr_to_html("he\033[33mllo") 146s [1] "hello" 146s 11/14 tohtml.R: sgr_to_html("hello\033[33m") 146s [1] "hello" 146s 11/14 tohtml.R: sgr_to_html(c("\033[33mhello", "world")) 146s [1] "hello" 146s [2] "world" 146s 11/14 tohtml.R: sgr_to_html(c("\033[33mhello", "\033[44mworld")) 146s [1] "hello" 146s [2] "world" 146s 11/14 tohtml.R: sgr_to_html(c("\033[33mhello", "wor\033[44mld")) 146s [1] "hello" 146s [2] "world" 146s 11/14 tohtml.R: sgr_to_html(c("\033[33mhello", "world\033[44m")) 146s [1] "hello" 146s [2] "world" 146s 11/14 tohtml.R: sgr_to_html(c("he\033[33mllo", "world")) 146s [1] "hello" 146s [2] "world" 146s 11/14 tohtml.R: sgr_to_html(c("he\033[33mllo", "\033[44mworld")) 146s [1] "hello" 146s [2] "world" 146s 11/14 tohtml.R: sgr_to_html(c("he\033[33mllo", "wor\033[44mld")) 146s [1] "hello" 146s [2] "world" 146s 11/14 tohtml.R: sgr_to_html(c("he\033[33mllo", "world\033[44m")) 146s [1] "hello" 146s [2] "world" 146s 11/14 tohtml.R: sgr_to_html(c("hello\033[33m", "world")) 146s [1] "hello" 146s [2] "world" 146s 11/14 tohtml.R: sgr_to_html(c("hello\033[33m", "\033[44mworld")) 146s [1] "hello" 146s [2] "world" 146s 11/14 tohtml.R: sgr_to_html(c("hello\033[33m", "wor\033[44mld")) 146s [1] "hello" 146s [2] "world" 146s 11/14 tohtml.R: sgr_to_html(c("hello\033[33m", "world\033[44m")) 146s [1] "hello" 146s [2] "world" 146s 11/14 tohtml.R: unitizer_sect("Bad inputs", { 146s 11/14 tohtml.R: fansi:::esc_color_code_to_html(matrix(1:12, 4)) 146s Error in fansi:::esc_color_code_to_html(matrix(1:12, 4)) : 146s Argument `x` must be a five row integer matrix. 146s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> 146s 11/14 tohtml.R: sgr_to_html(1:3) 146s [1] "1" "2" "3" 146s 11/14 tohtml.R: sgr_to_html("a", warn = 1:3) 146s Error in to_html_int(x = x, warn = warn, term.cap = term.cap, classes = classes, : 146s Argument `warn` must be TRUE or FALSE. 146s Calls: unitize_dir ... withVisible -> sgr_to_html -> to_html_int -> VAL_IN_ENV -> stop2 146s 11/14 tohtml.R: sgr_to_html("a", term.cap = 1:3) 146s Error in to_html_int(x = x, warn = warn, term.cap = term.cap, classes = classes, : 146s Argument `term.cap` must be character. 146s Calls: unitize_dir ... withVisible -> sgr_to_html -> to_html_int -> VAL_IN_ENV -> stop2 146s 11/14 tohtml.R: sgr_to_html("a", term.cap = "hello") 146s Error in to_html_int(x = x, warn = warn, term.cap = term.cap, classes = classes, : 146s Argument `term.cap` may only contain values in c("all", "bright", "256", "truecolor", "old") 146s Calls: unitize_dir ... withVisible -> sgr_to_html -> to_html_int -> VAL_IN_ENV -> stop2 146s 11/14 tohtml.R: unitizer_sect("issue54", { 146s 11/14 tohtml.R: string <- c("\033[31m", "\033[39m") 146s 11/14 tohtml.R: fansi::sgr_to_html(string) 146s [1] "" "" 146s 11/14 tohtml.R: string1 <- c("\033[31mhello", "world\033[39m moon") 146s 11/14 tohtml.R: fansi::sgr_to_html(string1) 146s [1] "hello" 146s [2] "world moon" 146s 11/14 tohtml.R: string2 <- c("\033[3mhello\033[24m", "world\033[23m moon") 146s 11/14 tohtml.R: fansi::sgr_to_html(string2) 146s [1] "hello" 146s [2] "world moon" 146s 11/14 tohtml.R: unitizer_sect("Colors as classes (#65)", { 146s 11/14 tohtml.R: sgr_to_html("\033[94mhello\033[31;42;1mworld\033[m", classes = T 146s [1] "helloworld" 146s 11/14 tohtml.R: class.8 <- do.call(paste, c(expand.grid(c("fg", "bg"), 0:7), 146s 11/14 tohtml.R: class.16 <- do.call(paste, c(expand.grid(c("fg", "bg"), 0:15), 146s 11/14 tohtml.R: class.256 <- do.call(paste, c(expand.grid(c("fg", "bg"), 0:255), 146s 11/14 tohtml.R: x <- c("\033[94mhe\033[107mllo\033[31;42;1mworld\033[m", "\033[4 146s 11/14 tohtml.R: term.cap <- c("bright", "256", "truecolor") 146s 11/14 tohtml.R: sgr_to_html(x, classes = class.8, term.cap = term.cap) 146s [1] "helloworld" 146s [2] "goodbye super moon" 146s 11/14 tohtml.R: sgr_to_html(x, classes = class.16, term.cap = term.cap) 146s [1] "helloworld" 146s [2] "goodbye super moon" 146s 11/14 tohtml.R: sgr_to_html(x, classes = class.256, term.cap = term.cap) 146s [1] "helloworld" 146s [2] "goodbye super moon" 146s 11/14 tohtml.R: make_styles(class.8) 146s [1] ".fg-0 {color: #000000;}" ".bg-0 {background-color: #000000;}" 146s [3] ".fg-1 {color: #800000;}" ".bg-1 {background-color: #800000;}" 146s [5] ".fg-2 {color: #008000;}" ".bg-2 {background-color: #008000;}" 146s [7] ".fg-3 {color: #808000;}" ".bg-3 {background-color: #808000;}" 146s [9] ".fg-4 {color: #000080;}" ".bg-4 {background-color: #000080;}" 146s [11] ".fg-5 {color: #800080;}" ".bg-5 {background-color: #800080;}" 146s [13] ".fg-6 {color: #008080;}" ".bg-6 {background-color: #008080;}" 146s [15] ".fg-7 {color: #C0C0C0;}" ".bg-7 {background-color: #C0C0C0;}" 146s 11/14 tohtml.R: make_styles(class.8, matrix(c(0, 1, 0, 0, 0, 1, 1, 0, 0), 3)) 146s [1] ".fg-0 {color: #000000;}" ".bg-0 {background-color: #000000;}" 146s [3] ".fg-1 {color: #000080;}" ".bg-1 {background-color: #000080;}" 146s [5] ".fg-2 {color: #800000;}" ".bg-2 {background-color: #800000;}" 146s [7] ".fg-3 {color: #800080;}" ".bg-3 {background-color: #800080;}" 146s [9] ".fg-4 {color: #008000;}" ".bg-4 {background-color: #008000;}" 146s [11] ".fg-5 {color: #008080;}" ".bg-5 {background-color: #008080;}" 146s [13] ".fg-6 {color: #808000;}" ".bg-6 {background-color: #808000;}" 146s [15] ".fg-7 {color: #C0C0C0;}" ".bg-7 {background-color: #C0C0C0;}" 146s 11/14 tohtml.R: sgr_to_html(sgr_256()) 146s [1] "Standard" 146s [2] " 0 1 2 3 4 5 6 7" 146s [3] "" 146s [4] "High-Intensity" 146s [5] " 8 9 10 11 12 13 14 15" 146s [6] "" 146s [7] "216 Colors (Dark)" 146s [8] " 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33" 146s [9] " 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69" 146s [10] " 88 89 90 91 92 93 94 95 96 97 98 99100101102103104105" 146s [11] "124125126127128129130131132133134135136137138139140141" 146s [12] "160161162163164165166167168169170171172173174175176177" 146s [13] "196197198199200201202203204205206207208209210211212213" 146s [14] "" 146s [15] "216 Colors (Light)" 146s [16] " 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51" 146s [17] " 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87" 146s [18] "106107108109110111112113114115116117118119120121122123" 146s [19] "142143144145146147148149150151152153154155156157158159" 146s [20] "178179180181182183184185186187188189190191192193194195" 146s [21] "214215216217218219220221222223224225226227228229230231" 146s [22] "" 146s [23] "Grayscale" 146s [24] "232 233 234 235 236 237 238 239 240 241 242 243" 146s [25] "244 245 246 247 248 249 250 251 252 253 254 255" 146s 11/14 tohtml.R: sgr_to_html(sgr_256(), classes = class.256) 146s [1] "Standard" 146s [2] " 0 1 2 3 4 5 6 7" 146s [3] "" 146s [4] "High-Intensity" 146s [5] " 8 9 10 11 12 13 14 15" 146s [6] "" 146s [7] "216 Colors (Dark)" 146s [8] " 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33" 146s [9] " 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69" 146s [10] " 88 89 90 91 92 93 94 95 96 97 98 99100101102103104105" 146s [11] "124125126127128129130131132133134135136137138139140141" 146s [12] "160161162163164165166167168169170171172173174175176177" 146s [13] "196197198199200201202203204205206207208209210211212213" 146s [14] "" 146s [15] "216 Colors (Light)" 146s [16] " 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51" 146s [17] " 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87" 146s [18] "106107108109110111112113114115116117118119120121122123" 146s [19] "142143144145146147148149150151152153154155156157158159" 146s [20] "178179180181182183184185186187188189190191192193194195" 146s [21] "214215216217218219220221222223224225226227228229230231" 146s [22] "" 146s [23] "Grayscale" 146s [24] "232 233 234 235 236 237 238 239 240 241 242 243" 146s [25] "244 245 246 247 248 249 250 251 252 253 254 255" 146s 11/14 tohtml.R: sgr_to_html("\033[31mhello\033[31m", classes = NULL) 146s Error in to_html_int(x = x, warn = warn, term.cap = term.cap, classes = classes, : 146s Argument `classes` must be TRUE, FALSE, or a character vector. 146s Calls: unitize_dir ... eval -> eval -> withVisible -> sgr_to_html -> to_html_int 146s 11/14 tohtml.R: sgr_to_html("\033[31mhello\033[31m", classes = character(7L)) 146s Error in check_classes(classes) : 146s Argument `classes` must be length 16, 32, or 512 if it is a character vector (is 7). 146s Calls: unitize_dir ... withVisible -> sgr_to_html -> to_html_int -> check_classes 146s 11/14 tohtml.R: sgr_to_html("\033[31mhello\033[31m", classes = rep(NA_character_ 146s Error in check_classes(classes) : Argument `classes` contains NA values. 146s Calls: unitize_dir ... withVisible -> sgr_to_html -> to_html_int -> check_classes 146s 11/14 tohtml.R: sgr_to_html("\033[31mhello\033[31m", classes = rep("bad class", 146s Error in check_classes(classes) : 146s Argument `classes` contains charcters other than ASCII letters, numbers, the hyphen, and underscore. 146s Calls: unitize_dir ... withVisible -> sgr_to_html -> to_html_int -> check_classes 146s 11/14 tohtml.R: make_styles(class.8, c(1, 1, 0, 0, 0, 1, 1, 0, 0)) 146s Error in make_styles(class.8, c(1, 1, 0, 0, 0, 1, 1, 0, 0)) : 146s Argument `rgb.mix` must be a 3 x 3 numeric matrix with no NAs. 146s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> make_styles 146s 11/14 tohtml.R: make_styles(class.8, matrix(c(0, 1, 0, 0, 0, 1, 1, 0, NA), 3)) 146s Error in make_styles(class.8, matrix(c(0, 1, 0, 0, 0, 1, 1, 0, NA), 3)) : 146s Argument `rgb.mix` must be a 3 x 3 numeric matrix with no NAs. 146s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> make_styles 146s 11/14 tohtml.R: make_styles(class.8, "hello") 146s Error in make_styles(class.8, "hello") : 146s Argument `rgb.mix` must be a 3 x 3 numeric matrix with no NAs. 146s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> make_styles 146s 11/14 tohtml.R: make_styles(letters, matrix(c(0, 1, 0, 0, 0, 1, 1, 0, 0), 3)) 146s Error in check_classes(classes) : 146s Argument `classes` must be length 16, 32, or 512 if it is a character vector (is 26). 146s Calls: unitize_dir ... eval -> withVisible -> make_styles -> check_classes 146s 11/14 tohtml.R: make_styles(NULL) 146s Error in make_styles(NULL) : Argument `classes` is not character. 146s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> make_styles 146s 11/14 tohtml.R: unitizer_sect("chars to escape", { 146s 11/14 tohtml.R: str.esc <- c("A\033[45mB", "A\033[43m&B") 146s 11/14 tohtml.R: to_html(str.esc) 146s Warning in to_html_int(x = x, warn = warn, term.cap = term.cap, classes = classes, : 146s `x` contains unescaped HTML special character '<' at index [1] (see ?html_esc); you can use `warn=FALSE` to turn off these warnings. 146s Warning in to_html_int(x = x, warn = warn, term.cap = term.cap, classes = classes, : 146s `x` contains unescaped HTML special character '>' at index [2] (see ?html_esc); you can use `warn=FALSE` to turn off these warnings. 146s [1] "A" 146s [2] "A>B" 146s [3] "A&B" 146s 11/14 tohtml.R: sgr_to_html(str.esc) 146s [1] "A" 146s [2] "A>B" 146s [3] "A&B" 146s 11/14 tohtml.R: to_html(str.esc, warn = FALSE) 146s [1] "A" 146s [2] "A>B" 146s [3] "A&B" 146s 11/14 tohtml.R: to_html(html_esc(str.esc)) 146s [1] "A<B" 146s [2] "A>B" 146s [3] "A&B" 146s 11/14 tohtml.R: str.esc2 <- c("A\033[45mB", "A\033[201mB") 146s 11/14 tohtml.R: to_html(str.esc2) 146s Warning in to_html_int(x = x, warn = warn, term.cap = term.cap, classes = classes, : 146s `x` contains unescaped HTML special character '<' at index [1] (see ?html_esc); you can use `warn=FALSE` to turn off these warnings. 146s Warning in to_html_int(x = x, warn = warn, term.cap = term.cap, classes = classes, : 146s 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. 146s Warning in to_html_int(x = x, warn = warn, term.cap = term.cap, classes = classes, : 146s `x` contains unescaped HTML special character '>' at index [2] (see ?html_esc); you can use `warn=FALSE` to turn off these warnings. 146s Warning in to_html_int(x = x, warn = warn, term.cap = term.cap, classes = classes, : 146s 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. 146s [1] "A" 146s [2] "A>B" 146s [3] "AB" 146s 11/14 tohtml.R: to_html(str.esc2, warn = FALSE) 146s [1] "A" 146s [2] "A>B" 146s [3] "AB" 146s 11/14 tohtml.R: unitizer_sect("helpers", { 146s 11/14 tohtml.R: html <- sgr_to_html("\033[42mHello") 146s 11/14 tohtml.R: f <- in_html(html, css = "span {background-color: #CCC;}", displ 146s 11/14 tohtml.R: readLines(f) 146s [1] "" 146s [2] "" 146s [3] "" 146s [6] "" 146s [7] "
"                                                
146s  [8] "Hello"
146s  [9] "
" 146s [10] "" 146s [11] "" 146s 11/14 tohtml.R: unlink(f) 146s 11/14 tohtml.R: in_html(html, css = "span {background-color: #CCC;}", display = 147s 11/14 tohtml.R: unitizer_sect("carry", { 147s 11/14 tohtml.R: string.2 <- c("A\033[44m", "B\033[49m", "C", "\033[39mD") 147s 11/14 tohtml.R: to_html(string.2) 147s [1] "A" 147s [2] "B" 147s [3] "C" 147s [4] "D" 147s 11/14 tohtml.R: to_html(string.2, carry = FALSE) 147s [1] "A" "B" "C" "D" 147s 11/14 tohtml.R: to_html(string.2, carry = "\033[33m") 147s [1] "A" 147s [2] "B" 147s [3] "C" 147s [4] "D" 147s 11/14 tohtml.R: to_html(string.2, carry = "\033[33m\033]8;;https://w.z\033\\") 147s [1] "A" 147s [2] "B" 147s [3] "C" 147s [4] "D" 147s 11/14 tohtml.R: string.3 <- c("A\033[44m", "\033[31mC", NA, "\033[39mD") 147s 11/14 tohtml.R: to_html(string.3) 147s [1] "A" 147s [2] "C" 147s [3] NA 147s [4] NA 147s 11/14 tohtml.R: to_html(string.3, carry = FALSE) 147s [1] "A" 147s [2] "C" 147s [3] NA 147s [4] "D" 147s 147s 12/14 trimws.R: 147s 12/14 trimws.R: library(fansi) 147s 12/14 trimws.R: unitizer_sect("Equivalence", { 147s 12/14 trimws.R: txt1 <- c("", "hello", " \t \n\r he\nl\tl\r o \r\t\n", "he\nl\tl 147s 12/14 trimws.R: identical(trimws(txt1), trimws_ctl(txt1)) 147s [1] TRUE 147s 12/14 trimws.R: identical(trimws(txt1, which = "left"), trimws_ctl(txt1, which = 147s [1] TRUE 147s 12/14 trimws.R: identical(trimws(txt1, which = "right"), trimws_ctl(txt1, which 147s [1] TRUE 147s 12/14 trimws.R: unitizer_sect("Controls", { 147s 12/14 trimws.R: txt2 <- c("\033[31m he\033[42;1m llo \033[49m\n\t ", " \033]8;;h 147s 12/14 trimws.R: trimws_ctl(txt2) 147s [1] "\033[31mhe\033[42;1m llo\033[0;1;31m" 147s [2] "\033]8;;https://x.yz\033\\LINK\033[45m hello\033[31m\033]8;;\033\\" 147s 12/14 trimws.R: trimws_ctl(txt2, which = "left") 147s [1] "\033[31mhe\033[42;1m llo \033[49m\n\t " 147s [2] "\033]8;;https://x.yz\033\\LINK\033[45m hello \033]8;;\033\\ \033[31m" 147s 12/14 trimws.R: trimws_ctl(txt2, which = "right") 147s [1] "\033[31m he\033[42;1m llo\033[0;1;31m" 147s [2] " \033]8;;https://x.yz\033\\\tLINK\033[45m hello\033[31m\033]8;;\033\\" 147s 12/14 trimws.R: trimws_ctl(txt2, ctl = c("all", "url", "osc")) 147s Warning in trimws_ctl(txt2, ctl = c("all", "url", "osc")) : 147s 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. 147s [1] "\033[31mhe\033[42;1m llo\033[0;1;31m" 147s [2] "8;;https://x.yz\033\\\tLINK\033[45m hello \033]8;;\033\\\033[31m" 147s 12/14 trimws.R: trimws_ctl(txt2, ctl = c("all", "sgr", "csi")) 147s Warning in trimws_ctl(txt2, ctl = c("all", "sgr", "csi")) : 147s 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. 147s Warning in trimws_ctl(txt2, ctl = c("all", "sgr", "csi")) : 147s 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. 147s [1] "31m he\033[42;1m llo \033[49m" 147s [2] "\033]8;;https://x.yz\033\\LINK\033[45m hello \033]8;;\033\\ \033[31m" 147s 12/14 trimws.R: trimws_ctl(" \r\a A \a\t ", ctl = c("all", "c0"))Warning in trimws_ctl(" \r\a A \a\t ", ctl = c("all", "c0")) : 147s Argument `x` contains a C0 control character at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 147s 147s [1] "\a A \a" 147s 12/14 trimws.R: unitizer_sect("Errors / Corner caess", { 147s 12/14 trimws.R: trimws_ctl(character()) 147s character(0) 147s 12/14 trimws.R: trimws_ctl("hello", which = "top") 147s Error in trimws_ctl("hello", which = "top") : 147s Argument `which` must partial match one of c("both", "left", "right"). 147s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> trimws_ctl 147s 12/14 trimws.R: trimws_ctl("hello", whitespace = " ") 147s Error in trimws_ctl("hello", whitespace = " ") : 147s Argument `whitespace` may only be set to "[ \t\r\n]". 147s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> trimws_ctl 147s 148s 13/14 url.R: 148s 13/14 url.R: library(fansi) 148s 13/14 url.R: unitizer_sect("wrap", { 148s 13/14 url.R: txt <- "This is a link" 148s 13/14 url.R: base.st <- "%s\033]8;%s;%s\033\\%s\033]8;;\033\\%s" 148s 13/14 url.R: base.a <- "%s\033]8;%s;%s\a%s\033]8;;\a%s" 148s 13/14 url.R: url <- "https://x.yz" 148s 13/14 url.R: u0 <- sprintf(base.st, "", "", url, txt, "") 148s 13/14 url.R: u1 <- sprintf(base.a, "", "", url, txt, "") 148s 13/14 url.R: strtrim_ctl(u0, 5) 148s [1] "\033]8;;https://x.yz\033\\This \033]8;;\033\\" 148s 13/14 url.R: strwrap_ctl(u0, 5) 148s [1] "\033]8;;https://x.yz\033\\This\033]8;;\033\\" 148s [2] "\033]8;;https://x.yz\033\\is a\033]8;;\033\\" 148s [3] "\033]8;;https://x.yz\033\\link\033]8;;\033\\" 148s 13/14 url.R: strwrap_ctl(u0, 8) 148s [1] "\033]8;;https://x.yz\033\\This is\033]8;;\033\\" 148s [2] "\033]8;;https://x.yz\033\\a link\033]8;;\033\\" 148s 13/14 url.R: strwrap_ctl(u1, 5) 148s [1] "\033]8;;https://x.yz\033\\This\033]8;;\033\\" 148s [2] "\033]8;;https://x.yz\033\\is a\033]8;;\033\\" 148s [3] "\033]8;;https://x.yz\033\\link\033]8;;\033\\" 148s 13/14 url.R: u2 <- sprintf(base.st, "", "id=one", url, txt, "") 148s 13/14 url.R: u2a <- sprintf(base.st, "", "id=", url, txt, "") 148s 13/14 url.R: u2b <- sprintf(base.st, "", "id", url, txt, "") 148s 13/14 url.R: u3 <- sprintf(base.st, "", "title=ab:id=one", url, txt, "") 148s 13/14 url.R: u4 <- sprintf(base.st, "", "id=one:title=ba", url, txt, "") 148s 13/14 url.R: u6 <- sprintf(base.st, "", "id=one~title=ba", url, txt, "") 148s 13/14 url.R: strwrap_ctl(u2, 5) 148s [1] "\033]8;id=one;https://x.yz\033\\This\033]8;;\033\\" 148s [2] "\033]8;id=one;https://x.yz\033\\is a\033]8;;\033\\" 148s [3] "\033]8;id=one;https://x.yz\033\\link\033]8;;\033\\" 148s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 148s Argument `x` contains a CSI SGR sequence with unknown substrings or a OSC hyperlink with unsupported parameters at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 148s 13/14 url.R: strwrap_ctl(u3, 5) 148s [1] "\033]8;id=one;https://x.yz\033\\This\033]8;;\033\\" 148s [2] "\033]8;id=one;https://x.yz\033\\is a\033]8;;\033\\" 148s [3] "\033]8;id=one;https://x.yz\033\\link\033]8;;\033\\" 148s 13/14 url.R: strwrap_ctl(u4, 5) 148s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 148s Argument `x` contains a CSI SGR sequence with unknown substrings or a OSC hyperlink with unsupported parameters at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 148s [1] "\033]8;id=one;https://x.yz\033\\This\033]8;;\033\\" 148s [2] "\033]8;id=one;https://x.yz\033\\is a\033]8;;\033\\" 148s [3] "\033]8;id=one;https://x.yz\033\\link\033]8;;\033\\" 148s 13/14 url.R: strwrap_ctl(u6, 5) 148s [1] "\033]8;id=one~title=ba;https://x.yz\033\\This\033]8;;\033\\" 148s [2] "\033]8;id=one~title=ba;https://x.yz\033\\is a\033]8;;\033\\" 148s [3] "\033]8;id=one~title=ba;https://x.yz\033\\link\033]8;;\033\\" 148s 13/14 url.R: u7 <- sprintf(base.st, "AB", "id=one", url, txt, "CD") 148s 13/14 url.R: strwrap_ctl(u7, 8) 148s [1] "AB\033]8;id=one;https://x.yz\033\\This\033]8;;\033\\" 148s [2] "\033]8;id=one;https://x.yz\033\\is a\033]8;;\033\\" 148s [3] "\033]8;id=one;https://x.yz\033\\link\033]8;;\033\\CD" 148s 13/14 url.R: txt2 <- "This\033[34m is a link\033[49m" 148s 13/14 url.R: u8 <- sprintf(base.st, "A\033[43mB", "", url, txt2, "CD") 148s 13/14 url.R: strwrap_ctl(u8, 7) 148s [1] "A\033[43mB\033]8;;https://x.yz\033\\This\033[0m\033]8;;\033\\" 148s [2] "\033[34;43m\033]8;;https://x.yz\033\\is a\033[0m\033]8;;\033\\" 148s [3] "\033[34;43m\033]8;;https://x.yz\033\\link\033[49m\033]8;;\033\\CD\033[0m" 148s 13/14 url.R: url2 <- ";wow;https://x.yz" 148s 13/14 url.R: u9 <- sprintf(base.st, "", "", url2, txt, "") 148s 13/14 url.R: strwrap_ctl(u9, 5) 148s [1] "\033]8;;wow;https://x.yz\033\\This\033]8;;\033\\" 148s [2] "\033]8;;wow;https://x.yz\033\\is a\033]8;;\033\\" 148s [3] "\033]8;;wow;https://x.yz\033\\link\033]8;;\033\\" 148s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 148s Argument `x` contains a CSI SGR sequence with unknown substrings or a OSC hyperlink with unsupported parameters at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 148s 13/14 url.R: u10 <- sprintf(base.st, "", "\a", url, txt, "") 148s 13/14 url.R: u11 <- sprintf(base.st, "", "\016", url, txt, "") 148s 13/14 url.R: Encoding(u10) <- "UTF-8" 148s 13/14 url.R: Encoding(u11) <- "UTF-8" 148s 13/14 url.R: u11a <- sprintf(base.st, "", "hello", url, txt, "") 148s 13/14 url.R: strwrap_ctl(u10, 5) 148s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 148s 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. 148s [1] ";https://x.yz\033\\This" "is a" 148s [3] "link" 148s 13/14 url.R: strwrap_ctl(u11, 5) 148s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 148s 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. 148s [1] "\033]8;;https://x.yz\033\\This\033]8;;\033\\" 148s [2] "\033]8;;https://x.yz\033\\is a\033]8;;\033\\" 148s [3] "\033]8;;https://x.yz\033\\link\033]8;;\033\\" 148s 13/14 url.R: strwrap_ctl(u11a, 5) 148s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 148s Argument `x` contains a CSI SGR sequence with unknown substrings or a OSC hyperlink with unsupported parameters at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 148s [1] "\033]8;;https://x.yz\033\\This\033]8;;\033\\" 148s [2] "\033]8;;https://x.yz\033\\is a\033]8;;\033\\" 148s [3] "\033]8;;https://x.yz\033\\link\033]8;;\033\\" 148s 13/14 url.R: nchar_ctl(c(u10, u11, u11a)) 148s [1] 27 14 14 148s 13/14 url.R: u12 <- sprintf(base.st, "", "", "\b", txt, "") 148s 13/14 url.R: u12a <- sprintf(base.st, "", "", "\200", txt, "") 148s 13/14 url.R: Encoding(u12) <- "UTF-8" 148s 13/14 url.R: Encoding(u12a) <- "UTF-8" 148s 13/14 url.R: strwrap_ctl(u12, 5) 148s [1] "This" "is a" "link" 148s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 148s 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. 148s 13/14 url.R: strwrap_ctl(u12a, 5) 148s Error in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 148s Argument `x` contains an illegal non-ASCII byte at index [1], see `?unhandled_ctl`. 148s Calls: unitize_dir ... eval -> eval -> withVisible -> strwrap_ctl -> strwrap2_ctl 148s 13/14 url.R: nchar_ctl(c(u12, u12a)) 148s [1] 14 14 148s 13/14 url.R: nchar_ctl(c(u12, u12a), allowNA = TRUE) 148s [1] 14 14 148s 13/14 url.R: u13 <- "a\033]8;;THE END" 148s 13/14 url.R: u13a <- "a\033];;THE END" 148s 13/14 url.R: u14 <- "a\033]8;;THE END\033]8;;NO?" 148s 13/14 url.R: u15 <- "a\033]8;;THE END\033]8;;\033[" 148s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, :13/14 url.R: strwrap_ctl(u13, 5) 148s 148s 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. 148s [1] "a" 148s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 148s 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. 148s 13/14 url.R: strwrap_ctl(u13, 5, terminate = FALSE) 148s [1] "a\033]8;;THE END" 148s 13/14 url.R: strwrap_ctl(u13a, 5) 148s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 148s 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. 148s [1] "a\033];;THE END" 148s 13/14 url.R: strwrap_ctl(u14, 5) 148s [1] "a" 148s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 148s 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. 148s 13/14 url.R: strwrap_ctl(u15, 5) 148s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 148s 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. 148s [1] "a" 148s 13/14 url.R: nchar_ctl(c(u13, u13a, u14, u15)) 148s Warning in nchar_ctl_internal(x = x, type.int = TYPE.INT, allowNA = allowNA, : 148s 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. 148s Warning in nchar_ctl_internal(x = x, type.int = TYPE.INT, allowNA = allowNA, : 148s 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. 148s Warning in nchar_ctl_internal(x = x, type.int = TYPE.INT, allowNA = allowNA, : 148s 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. 148s Warning in nchar_ctl_internal(x = x, type.int = TYPE.INT, allowNA = allowNA, : 148s 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. 148s [1] 1 1 1 1 148s 13/14 url.R: u16 <- sprintf(base.st, "", "", "", txt, "") 148s 13/14 url.R: u17 <- sprintf(base.st, "", "", "", "", "") 148s 13/14 url.R: strwrap_ctl(u16, 5) 148s [1] "This" "is a" "link" 148s 13/14 url.R: strwrap_ctl(u17, 5) 148s [1] "" 148s 13/14 url.R: strwrap_ctl(u0, 5, terminate = FALSE) 148s [1] "\033]8;;https://x.yz\033\\This" 148s [2] "\033]8;;https://x.yz\033\\is a" 148s [3] "\033]8;;https://x.yz\033\\link\033]8;;\033\\" 148s 13/14 url.R: open <- "\033]8;;ab.c\033\\" 148s 13/14 url.R: u21 <- c("he\033[44mllo \033]8;;de.f\033\\world", "night moon") 148s 13/14 url.R: strwrap_ctl(u21, 5, carry = "\033[33m") 148s [1] "\033[33mhe\033[44mllo\033[0m" 148s [2] "\033[33;44m\033]8;;de.f\033\\world\033[0m\033]8;;\033\\" 148s [3] "\033[33;44m\033]8;;de.f\033\\night\033[0m\033]8;;\033\\" 148s [4] "\033[33;44m\033]8;;de.f\033\\moon\033[0m\033]8;;\033\\" 148s 13/14 url.R: strwrap_ctl(u21, 5, carry = paste0(open, "\033[33m")) 148s [1] "\033[33m\033]8;;ab.c\033\\he\033[44mllo\033[0m\033]8;;\033\\" 148s [2] "\033[33;44m\033]8;;de.f\033\\world\033[0m\033]8;;\033\\" 148s [3] "\033[33;44m\033]8;;de.f\033\\night\033[0m\033]8;;\033\\" 148s [4] "\033[33;44m\033]8;;de.f\033\\moon\033[0m\033]8;;\033\\" 148s 13/14 url.R: unitizer_sect("normalize", { 148s 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 148s 13/14 url.R: normalize_state(u18) 148s [1] "A\033]8;id=a;x.yz\033\\BC\033]8;;\033\\D" 148s 13/14 url.R: u18a <- "A\033]8;id=a;x.yz\033\\B\033]8;;\033\\\033]8;id=a;x.yz\033 148s 13/14 url.R: normalize_state(u18a) 148s [1] "A\033]8;id=a;x.yz\033\\BC\033]8;;\033\\D" 148s 13/14 url.R: u18b <- "A\033]8;id=a;x.yz\033\\\033]8;id=b;x.yz\033\\C\033]8;;\033 148s 13/14 url.R: normalize_state(u18b) 148s [1] "A\033]8;id=b;x.yz\033\\C\033]8;;\033\\D" 148s 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 148s 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 148s 13/14 url.R: normalize_state(u19) 148s [1] "A\033]8;id=a;x.yz\033\\B\033]8;id=b;x.yz\033\\C\033]8;;\033\\D" 148s 13/14 url.R: normalize_state(u20) 148s [1] "A\033]8;id=a;x.yz\033\\B\033]8;id=a;w.yz\033\\C\033]8;;\033\\D" 148s 13/14 url.R: unitizer_sect("substr", { 148s 13/14 url.R: substr_ctl(u0, 6, 9) 148s [1] "\033]8;;https://x.yz\033\\is a\033]8;;\033\\" 148s 13/14 url.R: substr_ctl(u0, 6, 9, terminate = FALSE) 148s [1] "\033]8;;https://x.yz\033\\is a" 148s 13/14 url.R: substr_ctl("hello world", 3, 8, carry = "\033]8;;a.b\033\\") 148s [1] "\033]8;;a.b\033\\llo wo\033]8;;\033\\" 148s 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. 148s 13/14 url.R: Encoding(np.bytes) <- "UTF-8" 148s 13/14 url.R: substr_ctl(np.bytes[1:3], 2, 2) 148s [1] "\033]8;id=c;x.y\033\\B\033]8;;\033\\" 148s [2] "\033]8;;x.y\033\\B\033]8;;\033\\" 148s [3] "B" 148s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 148s 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. 148s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 148s 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. 148s Warning in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 148s 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. 148s 13/14 url.R: substr_ctl(np.bytes[4], 2, 2) 148s Error in substr_ctl_internal(x, start = start, stop = stop, type.int = TYPE.INT, : 148s Argument `x` contains an illegal non-ASCII byte at index [1], see `?unhandled_ctl`. 148s Calls: unitize_dir ... withVisible -> substr_ctl -> substr2_ctl -> substr_ctl_internal 148s 13/14 url.R: unitizer_sect("tohtml", { 148s 13/14 url.R: to_html(u0) 148s [1] "This is a link" 148s 13/14 url.R: to_html("A\033[44mB\033]8;;x.y\033\\C\033[33m\033]8;;\033\\D") 148s [1] "ABCD" 148s 13/14 url.R: to_html("A\033[44mB\033]8;;x.y\033\\C\033[33m\033]8;;w.z\033\\D") 148s [1] "ABCD" 148s 13/14 url.R: u23 <- c("A \033[44mB \033]8;;x.y\033\\C \033[33m\033]8;;w.z\033\\D 148s 13/14 url.R: to_html(u23) 148s [1] "A B C D" 148s [2] "E F G" 148s [3] "H I" 148s 13/14 url.R: to_html(strwrap_ctl(u23, 4)) 148s [1] "A B" 148s [2] "C D" 148s [3] "E F" 148s [4] "G" 148s [5] "H I" 148s 13/14 url.R: unitizer_sect("osc", { 148s 13/14 url.R: nchar_ctl("\033]hello \aworld") 148s [1] 5 148s 13/14 url.R: nchar_ctl("\033]hello \033\\world") 148s [1] 5 148s 13/14 url.R: nchar_ctl("\033]hello \033\\world", ctl = c("all", "osc")) 148s [1] 11 148s 13/14 url.R: x <- "\033]hello\200\033\\world" 148s 13/14 url.R: Encoding(x) <- "UTF-8" 148s 13/14 url.R: nchar_ctl(x) 148s [1] 5 148s 13/14 url.R: nchar_ctl("\033]hello world") 148s [1] 0 148s Warning in nchar_ctl_internal(x = x, type.int = TYPE.INT, allowNA = allowNA, : 148s 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. 148s 148s 14/14 wrap.R: 148s 14/14 wrap.R: library(unitizer) 148s 14/14 wrap.R: library(fansi) 148s 14/14 wrap.R: unitizer_sect("Basic wrap", { 148s 14/14 wrap.R: hello.0 <- "hello world this is a lovely day" 148s 14/14 wrap.R: strwrap_ctl(hello.0, width = 10) 148s [1] "hello" "world" "this is a" "lovely" "day" 148s 14/14 wrap.R: hello.1 <- "hello world this is. a lovely day." 148s 14/14 wrap.R: strwrap_ctl(hello.1, width = 10) 148s [1] "hello" "world" "this is." "a lovely" "day." 148s 14/14 wrap.R: hello.2 <- "hello\rworld\rthis is. a lovely day." 148s 14/14 wrap.R: strwrap_ctl(hello.2, width = 10) 148s [1] "hello\rworld\rthis" "is. a" "lovely" 148s [4] "day." 148s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 148s Argument `x` contains a C0 control character at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 148s 14/14 wrap.R: hello.3 <- "hello\rworld\nthis is. a lovely\n day." 148s 14/14 wrap.R: strwrap_ctl(hello.3, width = 10) 148s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 148s Argument `x` contains a C0 control character at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these war[1] "hello\rworld" "this is." "a lovely" "day." 148s nings. 148s 14/14 wrap.R: hello.4 <- " hello world this is a lovely day." 148s 14/14 wrap.R: strwrap_ctl(hello.4, width = 10) 148s [1] "hello" "world" "this is a" "lovely" "day." 148s 14/14 wrap.R: hello.5 <- "hello.\n\n\nworld" 148s 14/14 wrap.R: strwrap_ctl(hello.5, width = 10) 148s [1] "hello." "" "world" 148s 14/14 wrap.R: hello.5a <- "hello.\n \n \nworld" 148s 14/14 wrap.R: strwrap_ctl(hello.5a, width = 10) 148s [1] "hello." "" "world" 148s 14/14 wrap.R: hello.6a <- "hello.\" there" 148s 14/14 wrap.R: strwrap_ctl(hello.6a, width = 40) 148s [1] "hello.\" there" 148s 14/14 wrap.R: hello.6b <- "hello.' there" 148s 14/14 wrap.R: strwrap_ctl(hello.6b, width = 40) 148s [1] "hello.' there" 148s 14/14 wrap.R: hello.6c <- "hello.) there" 148s 14/14 wrap.R: strwrap_ctl(hello.6c, width = 40) 148s [1] "hello.) there" 148s 14/14 wrap.R: unitizer_sect("Basic Ansi", { 148s 14/14 wrap.R: hello2.0 <- paste0("hello ", red, "world ", grn.bg, " this is a l 148s 14/14 wrap.R: strwrap_ctl(hello2.0, 10) 148s [1] "hello" "\033[31mworld\033[0m" 148s [3] "\033[31;42mthis is a\033[0m" "\033[31;42mlovely\033[0mday." 148s 14/14 wrap.R: strwrap_ctl(strip_ctl(hello2.0, "sgr"), 10) 148s [1] "hello" "world" "this is a" "lovelyday." 148s 14/14 wrap.R: hello2.1 <- paste0("hello \033[41mworld\033[m how are you today") 148s 14/14 wrap.R: hello2.2 <- paste0("hello \033[41mworld\033[0m how are you today") 148s 14/14 wrap.R: strwrap_ctl(hello2.1, 15) 148s [1] "hello \033[41mworld\033[0m" "how are you" 148s [3] "today" 148s 14/14 wrap.R: hello.bold.faint <- paste0("hello \033[1mbolded once upon a time\0 148s 14/14 wrap.R: strwrap_ctl(hello.bold.faint, 10) 148s [1] "hello" "\033[1mbolded\033[0m" 148s [3] "\033[1monce upon\033[0m" "\033[1ma time\033[0m" 148s [5] "normal" "\033[2mfainting\033[0m" 148s [7] "\033[2min\033[0m" "\033[2mfaintness\033[0m" 148s [9] "\033[2moh no\033[0m" "normal" 148s 14/14 wrap.R: hello.blinky <- paste0("hello \033[5mbliking slowly oh my\033[25m 148s 14/14 wrap.R: strwrap_ctl(hello.blinky, 10) 148s [1] "hello" "\033[5mbliking\033[0m" 148s [3] "\033[5mslowly oh\033[0m" "\033[5mmy\033[25m normal" 148s [5] "\033[6mblinking\033[0m" "\033[6mquickly\033[0m" 148s [7] "\033[6moh my\033[0m" "normal" 148s 14/14 wrap.R: strwrap_ctl(hello.blinky, 10, terminate = FALSE) 148s [1] "hello" "\033[5mbliking" "slowly oh" 148s [4] "my\033[25m normal" "\033[6mblinking" "quickly" 148s [7] "oh my" "\033[0mnormal" 148s 14/14 wrap.R: hello2.3 <- c(hello2.1, hello2.2) 148s 14/14 wrap.R: strwrap_ctl(hello2.3, 10, simplify = FALSE) 148s [[1]] 148s [1] "hello" "\033[41mworld\033[m how" 148s [3] "are you" "today" 148s 148s [[2]] 148s [1] "hello" "\033[41mworld\033[0m how" 148s [3] "are you" "today" 148s 148s 14/14 wrap.R: strwrap2_ctl(hello2.3, 10, simplify = FALSE) 148s [[1]] 148s [1] "hello" "\033[41mworld\033[m how" 148s [3] "are you" "today" 148s 148s [[2]] 148s [1] "hello" "\033[41mworld\033[0m how" 148s [3] "are you" "today" 148s 148s 14/14 wrap.R: strwrap_ctl("aliquip \033[31mex ea commodo consequat\033[0m\n", 148s [1] "aliquip \033[31mex ea commodo\033[0m" 148s [2] "\033[31mconsequat\033[0m" 148s 14/14 wrap.R: unitizer_sect("Long Wrap", { 148s 14/14 wrap.R: wrap.csi <- strwrap_ctl(lorem.r.thanks, 40) 148s 14/14 wrap.R: nchar(strip_ctl(wrap.csi, "sgr")) 148s [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 148s [26] 5 0 39 36 34 33 36 39 27 0 31 29 37 39 35 34 37 34 31 36 25 37 148s 14/14 wrap.R: nchar(wrap.csi) 148s [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 148s [26] 5 0 75 54 47 49 64 67 45 0 91 78 87 88 74 73 86 54 60 75 25 67 148s 14/14 wrap.R: unitizer_sect("Other Escapes", { 148s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 148s 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. 148s 14/14 wrap.R: strwrap_ctl("hello \033kworld yohoo", 12) 148s [1] "hello \033kworld" "yohoo" 148s 14/14 wrap.R: strwrap_ctl("hello \033\nworld yohoo", 12) 148s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 148s Argument `x` contains a malformed escape sequence at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 148s [1] "hello \033\nworld" "yohoo" 148s 14/14 wrap.R: c0 <- "hello\037\037\037\037\037\037 world yohoo" 148s 14/14 wrap.R: Encoding(c0) <- "UTF-8" 148s 14/14 wrap.R: strwrap_ctl(c0, 12) 148s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, :[1] "hello\037\037\037\037\037\037 world" "yohoo" 148s 14/14 wrap.R: strwrap_ctl("hello \033[999mworld", 6) 148s [1] "hello" "world" 148s 14/14 wrap.R: strwrap_ctl("hello \033[31#31mworld", 6) 148s 148s Argument `x` contains a C0 control character at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 148s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 148s Argument `x` contains a CSI SGR sequence or OSC hyperlink with invalid substrings at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 149s [1] "hello" "world" 149s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 149s Argument `x` contains a CSI SGR sequence or OSC hyperlink with invalid substrings at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 149s 14/14 wrap.R: strwrap_ctl("hello \033[999nworld", 6) 149s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, :[1] "hello" "\033[999nworld" 149s 149s 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. 149s 14/14 wrap.R: strwrap_ctl("hello \033[999mworld", 6, warn = FALSE) 149s [1] "hello" "world" 149s 14/14 wrap.R: strwrap_ctl("hello \033[31#31mworld", 6, warn = FALSE) 149s [1] "hello" "world" 149s 14/14 wrap.R: strwrap_ctl("hello \033[999nworld", 6, warn = FALSE) 149s [1] "hello" "\033[999nworld" 149s 14/14 wrap.R: unitizer_sect("prefix / initial simple", { 149s 14/14 wrap.R: lorem.sentence <- unlist(strsplit_ctl(lorem, "[.]\\K ", perl = TRU 149s 14/14 wrap.R: lorem.sentence <- gsub(",", ",\n", lorem.sentence, fixed = TRUE) 149s 14/14 wrap.R: lorem.para <- c(paste0(lorem.sentence[1:2], collapse = "\n\n"), 149s 14/14 wrap.R: strwrap_ctl(lorem.para, indent = 2) 149s [1] " Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do" 149s [2] "eiusmod tempor incididunt ut labore et dolore magna aliqua." 149s [3] "" 149s [4] " Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris" 149s [5] "nisi ut aliquip ex ea commodo consequat." 149s [6] " Duis aute irure dolor in reprehenderit in voluptate velit esse cillum" 149s [7] "dolore eu fugiat nulla pariatur." 149s [8] "" 149s [9] " Excepteur sint occaecat cupidatat non proident, sunt in culpa qui" 149s [10] "officia deserunt mollit anim id est laborum." 149s 14/14 wrap.R: strwrap_ctl(lorem.para, exdent = 2) 149s [1] "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod" 149s [2] " tempor incididunt ut labore et dolore magna aliqua." 149s [3] "" 149s [4] "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi" 149s [5] " ut aliquip ex ea commodo consequat." 149s [6] "Duis aute irure dolor in reprehenderit in voluptate velit esse cillum" 149s [7] " dolore eu fugiat nulla pariatur." 149s [8] "" 149s [9] "Excepteur sint occaecat cupidatat non proident, sunt in culpa qui" 149s [10] " officia deserunt mollit anim id est laborum." 149s 14/14 wrap.R: strwrap_ctl(lorem.para, indent = 4, exdent = 2) 149s [1] " Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do" 149s [2] " eiusmod tempor incididunt ut labore et dolore magna aliqua." 149s [3] "" 149s [4] " Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris" 149s [5] " nisi ut aliquip ex ea commodo consequat." 149s [6] " Duis aute irure dolor in reprehenderit in voluptate velit esse" 149s [7] " cillum dolore eu fugiat nulla pariatur." 149s [8] "" 149s [9] " Excepteur sint occaecat cupidatat non proident, sunt in culpa qui" 149s [10] " officia deserunt mollit anim id est laborum." 149s 14/14 wrap.R: unitizer_sect("prefix / initial with ESC", { 149s 14/14 wrap.R: pre <- "\033[32m+ \033[0m" 149s 14/14 wrap.R: ini <- "\033[33m> \033[0m" 149s 14/14 wrap.R: hello.8a <- "hello world yohoo" 149s 14/14 wrap.R: wrap.csi.2 <- strwrap_ctl(hello.8a, 14, prefix = pre, initial = in 149s 14/14 wrap.R: wrap.csi.2 149s [1] "\033[33m> \033[0mhello world" "\033[32m+ \033[0myohoo" 149s 14/14 wrap.R: hello.8b <- c(hello.8a, "oh my this has 2 elements") 149s 14/14 wrap.R: wrap.csi.3 <- strwrap_ctl(hello.8b, 14, prefix = pre, initial = in 149s 14/14 wrap.R: wrap.csi.3 149s [1] "\033[33m> \033[0mhello world" "\033[32m+ \033[0myohoo" 149s [3] "\033[32m+ \033[0moh my this" "\033[32m+ \033[0mhas 2" 149s [5] "\033[32m+ \033[0melements" 149s 14/14 wrap.R: unitizer_sect("wrap2", { 149s 14/14 wrap.R: hello.9a <- "hello\t\033[41mred\033[49m\tworld" 149s 14/14 wrap.R: strwrap2_ctl(hello.9a, 12) 149s [1] "hello \033[41mred\033[0m" "world" 149s 14/14 wrap.R: strwrap2_ctl(hello.9a, 12, tabs.as.spaces = TRUE) 149s [1] "hello \033[41mred\033[49m" " world" 149s 14/14 wrap.R: strwrap2_ctl(hello.9a, 13, tabs.as.spaces = TRUE) 149s [1] "hello \033[41mred\033[49m " " world" 149s 14/14 wrap.R: strwrap2_ctl(hello.9a, 12, tabs.as.spaces = TRUE, tab.stops = c(6, 149s [1] "hello \033[41mred\033[49m " " " 149s [3] "world" 149s 14/14 wrap.R: r.thanks <- lorem.r.thanks.2 149s 14/14 wrap.R: bg <- ceiling(seq_along(r.thanks)/length(r.thanks) * 215) + 16 149s 14/14 wrap.R: fg <- ifelse((((bg - 16)%/%18)%%2), 30, 37) 149s 14/14 wrap.R: tpl <- "\033[%d;48;5;%dm%s\033[49m" 149s 14/14 wrap.R: nz <- nzchar(r.thanks) 149s 14/14 wrap.R: r.thanks[nz] <- sprintf(tpl, fg[nz], bg[nz], r.thanks[nz]) 149s 14/14 wrap.R: r.col <- paste0(r.thanks, collapse = "\n") 149s 14/14 wrap.R: r.wrap <- strwrap2_ctl(r.col, 35, pad.end = " ", wrap.always = TRU 149s 14/14 wrap.R: (r.wrap) 149s [1] "\033[37;48;5;23mMany more, too numerous to mention\033[0m" 149s [2] "\033[37;48;5;23mhere, have contributed by sending \033[0m" 149s [3] "\033[37;48;5;23mbug\033[49m \033[37;48;5;30mreports and suggesting various\033[0m" 149s [4] "\033[37;48;5;30mimprovements.\033[49m \033[0m" 149s [5] "\033[37m \033[0m" 149s [6] "\033[30;48;5;43mSimon Davies whilst at the \033[0m" 149s [7] "\033[30;48;5;43mUniversity of Auckland wrote the \033[0m" 149s [8] "\033[30;48;5;43moriginal\033[49m \033[30;48;5;50mversion of glm().\033[49m \033[0m" 149s [9] "\033[30m \033[0m" 149s [10] "\033[37;48;5;64mJulian Harris and Wing Kwong \033[0m" 149s [11] "\033[37;48;5;64m(Tiki) Wan whilst at the \033[0m" 149s [12] "\033[37;48;5;64mUniversity of\033[49m \033[30;48;5;70mAuckland assisted \033[0m" 149s [13] "\033[30;48;5;70mRoss Ihaka with the original \033[0m" 149s [14] "\033[30;48;5;70mMacintosh port.\033[49m \033[0m" 149s [15] "\033[30m \033[0m" 149s [16] "\033[30;48;5;84mR was inspired by the S \033[0m" 149s [17] "\033[30;48;5;84menvironment which has been \033[0m" 149s [18] "\033[30;48;5;84mprincipally\033[49m \033[37;48;5;90mdeveloped by John \033[0m" 149s [19] "\033[37;48;5;90mChambers, with substantial input \033[0m" 149s [20] "\033[37;48;5;90mfrom Douglas Bates,\033[49m \033[37;48;5;97mRick Becker, \033[0m" 149s [21] "\033[37;48;5;97mBill Cleveland, Trevor Hastie, \033[0m" 149s [22] "\033[37;48;5;97mDaryl Pregibon and\033[49m \033[37;48;5;104mAllan Wilks.\033[49m \033[0m" 149s [23] "\033[37m \033[0m" 149s [24] "\033[30;48;5;117mA special debt is owed to John \033[0m" 149s [25] "\033[30;48;5;117mChambers who has graciously \033[0m" 149s [26] "\033[30;48;5;117mcontributed\033[49m \033[37;48;5;124madvice and \033[0m" 149s [27] "\033[37;48;5;124mencouragement in the early days of\033[0m" 149s [28] "\033[37;48;5;124mR and later became a\033[49m \033[37;48;5;131mmember of the\033[0m" 149s [29] "\033[37;48;5;131mcore team.\033[49m \033[0m" 149s [30] "\033[37m \033[0m" 149s [31] "\033[30;48;5;158mThe R Foundation may decide to \033[0m" 149s [32] "\033[30;48;5;158mgive out \033[0m" 149s [33] "\033[30;48;5;158m@R-project.org\033[49m \033[0m" 149s [34] "\033[37;48;5;164memail addresses to contributors to\033[0m" 149s [35] "\033[37;48;5;164mthe R Project (even without making\033[0m" 149s [36] "\033[37;48;5;164mthem\033[49m \033[37;48;5;171mmembers of the R Foundation) \033[0m" 149s [37] "\033[37;48;5;171mwhen in the view of the R \033[0m" 149s [38] "\033[37;48;5;171mFoundation this\033[49m \033[30;48;5;178mwould help advance\033[0m" 149s [39] "\033[30;48;5;178mthe R project.\033[49m \033[0m" 149s [40] "\033[30m \033[0m" 149s [41] "\033[30;48;5;191mThe R Core Group, Roger Bivand, \033[0m" 149s [42] "\033[30;48;5;191mJennifer Bryan, Di Cook, Dirk \033[0m" 149s [43] "\033[30;48;5;191mEddelbuettel,\033[49m \033[37;48;5;198mJohn Fox, Bettina \033[0m" 149s [44] "\033[37;48;5;198mGrn, Frank Harrell, Torsten \033[0m" 149s [45] "\033[37;48;5;198mHothorn, Stefano Iacus,\033[49m \033[37;48;5;205mJulie \033[0m" 149s [46] "\033[37;48;5;205mJosse, Balasubramanian Narasimhan,\033[0m" 149s [47] "\033[37;48;5;205mMarc Schwartz, Heather Turner,\033[49m \033[0m" 149s [48] "\033[37;48;5;211mBill Venables, Hadley Wickham and \033[0m" 149s [49] "\033[37;48;5;211mAchim Zeileis are the ordinary \033[0m" 149s [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" 149s [51] "\033[30;48;5;225maddition, David Meyer and Simon \033[0m" 149s [52] "\033[30;48;5;225mWood are also e-addressable by\033[49m \033[0m" 149s [53] "\033[30;48;5;231m.@R-project.o\033[0m" 149s [54] "\033[30;48;5;231mrg.\033[49m \033[0m" 149s 14/14 wrap.R: hello.9b <- "\033[41mhello\n\nworld." 149s 14/14 wrap.R: strwrap2_ctl(hello.9b, 8, pad.end = " ") 149s [1] "\033[41mhello \033[0m" "\033[41m \033[0m" "\033[41mworld. \033[0m" 149s 14/14 wrap.R: strwrap2_ctl(hello.9b, 8, pad.end = 0) 149s [1] "\033[41mhello00\033[0m" "\033[41m0000000\033[0m" "\033[41mworld.0\033[0m" 149s 14/14 wrap.R: hello.9b <- " \033[41mhello world." 149s 14/14 wrap.R: strwrap2_ctl(hello.9b, 8, strip.spaces = FALSE) 149s [1] " \033[41mhello\033[0m" "\033[41m world.\033[0m" 149s 14/14 wrap.R: hello.9c <- "\033[41m hello world." 149s 14/14 wrap.R: ws.0 <- "hello worldza" 149s 14/14 wrap.R: ws.1 <- "hello \t worldza" 149s 14/14 wrap.R: ws.2 <- "hello \n worldza" 149s 14/14 wrap.R: strwrap2_sgr(ws.0, 7, strip.spaces = FALSE) 149s [1] "hello " " " "worldza" 149s 14/14 wrap.R: strwrap2_sgr(ws.0, 7, strip.spaces = FALSE, wrap.always = TRUE) 149s [1] "hello " " " "worldz" "a" 149s 14/14 wrap.R: strwrap2_sgr(ws.0, 6, strip.spaces = FALSE) 149s [1] "hello" " " "worldza" 149s 14/14 wrap.R: strwrap2_sgr(ws.0, 6, strip.spaces = FALSE, wrap.always = TRUE) 149s [1] "hello" " " "world" "za" 149s 14/14 wrap.R: strwrap2_sgr(ws.1, 7, strip.spaces = FALSE) 149s [1] "hello " "\t " "worldza" 149s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 149s Argument `x` contains a C0 control character at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 149s 14/14 wrap.R: strwrap2_sgr(ws.1, 7, strip.spaces = FALSE, wrap.always = TRUE) 149s [1] "hello " "\t " "worldz" "a" 149s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 149s Argument `x` contains a C0 control character at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 149s 14/14 wrap.R: strwrap2_sgr(ws.1, 6, strip.spaces = FALSE) 149s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 149s Argument `x` contains a C0 control character at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 149s [1] "hello" " \t " "worldza" 149s 14/14 wrap.R: strwrap2_sgr(ws.1, 6, strip.spaces = FALSE, wrap.always = TRUE) 149s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 149s Argument `x` contains a C0 control character at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 149s [1] "hello" " \t " "world" "za" 149s 14/14 wrap.R: strwrap2_sgr(" hello world ", 7, strip.spaces = FALSE) 149s [1] " hello" " world" " " 149s 14/14 wrap.R: strwrap2_sgr("\thello\tworld\t", 7, strip.spaces = FALSE) 149s [1] "\thello" "\tworld" "\t" 149s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 149s Argument `x` contains a C0 control character at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 149s 14/14 wrap.R: strwrap2_sgr("\nhello\nworld\n", 7, strip.spaces = FALSE) 149s [1] "" "hello" "world" "" 149s 14/14 wrap.R: unitizer_sect("_sgr", { 149s 14/14 wrap.R: hello.9e <- c("hello\t\033[91mworld\033[m\t\033[38;2;31;42;4mworld 149s 14/14 wrap.R: strwrap_sgr(hello.9e, 12, term.cap = "256") 149s [1] "hello \033[91mworld\033[0m" 149s [2] "\033[38;2;31;42;4mworld\033[0m" 149s [3] "\033[38;2;31;42;4mboohaythere\033[0m" 149s [4] "asdfasdfasdfasdf" 149s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 149s 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. 149s 14/14 wrap.R: hello.9f <- "hello \033[91mworld boohaythereyowza" 149s 14/14 wrap.R: strwrap2_sgr(hello.9f, 12, prefix = "++", initial = ">>", wrap.alw 149s [1] ">>hello ~~~" "\033[91m++world ~~~\033[0m" 149s [3] "\033[91m++boohaythe\033[0m" "\033[91m++reyowza~~\033[0m" 149s 14/14 wrap.R: strwrap2_sgr(hello.9e, 12, tabs.as.spaces = TRUE, tab.stops = c(6, 149s [[1]] 149s [1] ">> hello ~" 149s [2] "\033[91m++ world\033[m " 149s [3] "++ \033[38;2;31;42;4mworld\033[0m" 149s [4] "\033[38;2;31;42;4m++ ~~~~~~~\033[0m" 149s [5] "\033[38;2;31;42;4m++ boohayth\033[0m" 149s [6] "\033[38;2;31;42;4m++ ere~~~~~\033[0m" 149s 149s [[2]] 149s [1] "++ asdfasd" "++ fasdfasd" "++ f~~~~~~~" 149s 149s 14/14 wrap.R: strwrap_sgr(hello.9e, 12, warn = FALSE, indent = 2, exdent = 1, 149s [[1]] 149s [1] ">> hello" 149s [2] "\033[91m++ world\033[0m" 149s [3] "\033[38;2;31;42;4m++ world\033[0m" 149s [4] "\033[38;2;31;42;4m++ boohaythere\033[0m" 149s 149s [[2]] 149s [1] "++ asdfasdfasdfasdf" 149s 149s 14/14 wrap.R: strwrap_sgr(hello.9e, 12, indent = 2, exdent = 1, prefix = "++", 149s [[1]] 149s [1] ">> hello" 149s [2] "\033[91m++ world\033[0m" 149s [3] "\033[38;2;31;42;4m++ world\033[0m" 149s [4] "\033[38;2;31;42;4m++ boohaythere\033[0m" 149s 149s [[2]] 149s [1] "++ asdfasdfasdfasdf" 149s 149s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 149s 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. 149s 14/14 wrap.R: unitizer_sect("long words", { 149s 14/14 wrap.R: hello.long <- "\033[31mhelloworld\033[mlongword" 149s 14/14 wrap.R: strwrap_ctl(hello.long, 8) 149s [1] "\033[31mhelloworld\033[mlongword" 149s 14/14 wrap.R: strwrap2_ctl(hello.long, 8, wrap.always = TRUE) 149s [1] "\033[31mhellowo\033[0m" "\033[31mrld\033[mlong" "word" 149s 14/14 wrap.R: unitizer_sect("rare escapes", { 149s 14/14 wrap.R: hello.border <- c("hello \033[51mworld woohoo\033[54m woohoo", 149s 14/14 wrap.R: strwrap_ctl(hello.border, 12) 149s [1] "hello \033[51mworld\033[0m" "\033[51mwoohoo\033[0m" 149s [3] "woohoo" "hello \033[52mworld\033[0m" 149s [5] "\033[52mwoohoo\033[0m" "woohoo" 149s [7] "hello \033[53mworld\033[0m" "\033[53mwoohoo\033[0m" 149s [9] "woohoo" 149s 14/14 wrap.R: strwrap_ctl(hello.border, 12, terminate = FALSE) 149s [1] "hello \033[51mworld" "woohoo" "\033[0mwoohoo" 149s [4] "hello \033[52mworld" "woohoo" "\033[0mwoohoo" 149s [7] "hello \033[53mworld" "woohoo" "\033[0mwoohoo" 149s 14/14 wrap.R: hello.ideogram <- c("hello \033[60mworld woohoo\033[65m woohoo", 149s 14/14 wrap.R: strwrap_ctl(hello.ideogram, 12, terminate = FALSE) 149s [1] "hello \033[60mworld" "woohoo" "\033[0mwoohoo" 149s [4] "hello \033[61mworld" "woohoo" "\033[0mwoohoo" 149s [7] "hello \033[62mworld" "woohoo" "\033[0mwoohoo" 149s [10] "hello \033[63mworld" "woohoo" "\033[0mwoohoo" 149s [13] "hello \033[64mworld" "woohoo" "\033[0mwoohoo" 149s 14/14 wrap.R: hello.font <- c("hello \033[10mworld woohoo\033[10m woohoo", 149s 14/14 wrap.R: strwrap_ctl(hello.font, 12, terminate = FALSE) 149s [1] "hello \033[10mworld" "woohoo" "woohoo" 149s [4] "hello \033[11mworld" "woohoo" "\033[0mwoohoo" 149s [7] "hello \033[12mworld" "woohoo" "\033[0mwoohoo" 149s [10] "hello \033[13mworld" "woohoo" "\033[0mwoohoo" 149s [13] "hello \033[14mworld" "woohoo" "\033[0mwoohoo" 149s [16] "hello \033[15mworld" "woohoo" "\033[0mwoohoo" 149s [19] "hello \033[16mworld" "woohoo" "\033[0mwoohoo" 149s [22] "hello \033[17mworld" "woohoo" "\033[0mwoohoo" 149s [25] "hello \033[18mworld" "woohoo" "\033[0mwoohoo" 149s [28] "hello \033[19mworld" "woohoo" "\033[0mwoohoo" 149s 14/14 wrap.R: unitizer_sect("term cap and bright", { 149s 14/14 wrap.R: getOption("fansi.term.cap", dflt_term_cap()) 149s [1] "bright" "256" 149s 14/14 wrap.R: hello.bright <- "\033[42mhello \033[103mworld wowza\033[49m" 149s 14/14 wrap.R: strwrap_ctl(hello.bright, 13) 149s [1] "\033[42mhello \033[103mworld\033[0m" "\033[103mwowza\033[0m" 149s 14/14 wrap.R: strwrap_ctl(hello.bright, 13, term.cap = character()) 149s [1] "\033[42mhello \033[103mworld\033[0m" "\033[103mwowza\033[0m" 149s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 149s 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. 149s 14/14 wrap.R: hello.255 <- "\033[42mhello \033[48;5;47mworld wowza\033[49m" 149s 14/14 wrap.R: strwrap_ctl(hello.255, 13) 149s [1] "\033[42mhello \033[48;5;47mworld\033[0m" 149s [2] "\033[48;5;47mwowza\033[0m" 149s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 149s 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. 149s 14/14 wrap.R: strwrap_ctl(hello.255, 13, term.cap = character()) 149s [1] "\033[42mhello \033[48;5;47mworld\033[0m" 149s [2] "\033[48;5;47mwowza\033[0m" 149s 14/14 wrap.R: hello.tru <- "\033[42mhello \033[48;2;7;41;4mworld wowza\033[m" 149s 14/14 wrap.R: strwrap_ctl(hello.tru, 13, term.cap = "truecolor") 149s [1] "\033[42mhello \033[48;2;7;41;4mworld\033[0m" 149s [2] "\033[48;2;7;41;4mwowza\033[0m" 149s 14/14 wrap.R: strwrap_ctl(hello.tru, 13) 149s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 149s 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. 149s [1] "\033[42mhello \033[48;2;7;41;4mworld\033[0m" 149s [2] "\033[48;2;7;41;4mwowza\033[0m" 149s 14/14 wrap.R: unitizer_sect("corner cases", { 149s 14/14 wrap.R: strwrap_ctl("a", -1) 149s [1] "a" 149s 14/14 wrap.R: strwrap2_ctl("a", -1) 149s [1] "a" 149s 14/14 wrap.R: strwrap2_ctl("a", Inf) 149s [1] "a" 149s Error in strwrap2_ctl("a", NA_real_) : 149s Argument `width` must be a positive scalar numeric representable as integer. 149s Calls: unitize_dir ... strwrap2_ctl -> VAL_WRAP_IN_ENV -> is_scl_int_pos -> stop2 149s 14/14 wrap.R: strwrap2_ctl("a", NA_real_) 149s 14/14 wrap.R: strwrap2_ctl("a", NA_integer_) 149s Error in strwrap2_ctl("a", NA_integer_) : 149s Argument `width` must be a positive scalar numeric representable as integer. 149s Calls: unitize_dir ... strwrap2_ctl -> VAL_WRAP_IN_ENV -> is_scl_int_pos -> stop2 149s 14/14 wrap.R: strwrap2_ctl("a", -1, wrap.always = TRUE) 149s Error in strwrap2_ctl("a", -1, wrap.always = TRUE) : 149s Width must be at least 2 in `wrap.always` mode. 149s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> strwrap2_ctl 149s 14/14 wrap.R: strwrap2_ctl("a", 0, wrap.always = TRUE) 149s Error in strwrap2_ctl("a", 0, wrap.always = TRUE) : 149s Width must be at least 2 in `wrap.always` mode. 149s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> strwrap2_ctl 149s 14/14 wrap.R: strwrap2_ctl("a", 1, wrap.always = TRUE) 149s Error in strwrap2_ctl("a", 1, wrap.always = TRUE) : 149s Width must be at least 2 in `wrap.always` mode. 149s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> strwrap2_ctl 149s 14/14 wrap.R: tryCatch(strwrap_ctl("hello world", 6, prefix = "\033p"), warning 149s [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." 149s 14/14 wrap.R: suppressWarnings(strwrap_ctl("hello world", 6, prefix = "\033p")) 149s [1] "\033phello" "\033pworld" 149s 14/14 wrap.R: tryCatch(strwrap2_ctl("hello world", 8, pad.end = "\t"), error = c 149s [1] "Argument `pad.end` must be an empty string or a single printable ASCII character." 149s 14/14 wrap.R: tryCatch(strwrap2_ctl("hello world", 8, pad.end = " "), error = c 149s [1] "Argument `pad.end` must be at most one byte long." 149s 14/14 wrap.R: strwrap2_ctl("goodbye moon", 8, indent = 5, prefix = "> hello >") 149s [1] "> hello > goodbye" "> hello >moon" 149s 14/14 wrap.R: strwrap2_ctl("goodbye moon", 16, indent = 5, prefix = "> hello >", 149s [1] "> hello > g" "> hello >oodbye" "> hello >moon" 149s 14/14 wrap.R: tryCatch(strwrap2_ctl("goodbye moon", 15, indent = 5, prefix = "> 149s [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`." 149s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 149s Argument `x` contains a non-CSI/OSC escape sequence at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 149s 14/14 wrap.R: strwrap_ctl("hello world\033[31m\033A", 12) 149s [1] "hello world\033[31m\033A\033[0m" 149s 14/14 wrap.R: strwrap_ctl("hello world\033A\033[31m", 12) 149s [1] "hello world\033A" 149s 14/14 wrap.R: strwrap_ctl("hello \033[44m world", 5) 149s [1] "hello" "\033[44mworld\033[0m" 149s 14/14 wrap.R: strwrap_ctl("hello \033[44m world", 6) 149s [1] "hello" "\033[44mworld\033[0m" 149s Warning in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 149s Argument `x` contains a non-CSI/OSC escape sequence at index [1], see `?unhandled_ctl`; you can use `warn=FALSE` to turn off these warnings. 149s 14/14 wrap.R: strwrap_ctl("hello \033[44m world", 5, terminate = FALSE) 149s [1] "hello" "\033[44mworld" 149s 14/14 wrap.R: strwrap_ctl("hello \033[44m world", 6, terminate = FALSE) 149s [1] "hello" "\033[44mworld" 149s 14/14 wrap.R: strwrap_ctl("hello\n\033[44m\nworld", 5) 149s [1] "hello" "" "\033[44mworld\033[0m" 149s 14/14 wrap.R: strwrap_ctl("hello \n\033[44m\n world", 5) 149s [1] "hello" "" "\033[44mworld\033[0m" 149s 14/14 wrap.R: strwrap_ctl("hello \n \033[44m\n world", 5) 149s [1] "hello" "" "\033[44mworld\033[0m" 149s 14/14 wrap.R: strwrap_ctl("hello \n \n\033[44mworld", 5) 149s [1] "hello" "" "\033[44mworld\033[0m" 149s 14/14 wrap.R: strwrap_ctl("hello \n \n\033[44m world", 5) 149s [1] "hello" "" "\033[44mworld\033[0m" 149s 14/14 wrap.R: strwrap_ctl("hello \n \n\033[44m\nworld", 5) 149s [1] "hello" "" "\033[44mworld\033[0m" 149s 14/14 wrap.R: strwrap_ctl("hello \033[44m\n\n world", 5) 149s [1] "hello" "" "\033[44mworld\033[0m" 149s 14/14 wrap.R: strwrap("hello \n\n world", 5) 149s [1] "hello" "" "world" 149s 14/14 wrap.R: strwrap_ctl("\033[33mAB\033[44m CD", 3) 149s [1] "\033[33mAB\033[0m" "\033[33;44mCD\033[0m" 149s 14/14 wrap.R: strwrap2_ctl("AB\033[44m\n\nCD", 3, wrap.always = TRUE) 149s [1] "AB" "" "\033[44mCD\033[0m" 149s 14/14 wrap.R: strwrap2_ctl("AB\033[44m\n\nCD", 3, wrap.always = TRUE, pad.end = 149s [1] "AB" "\033[44m##\033[0m" "\033[44mCD\033[0m" 149s 14/14 wrap.R: strwrap2_ctl("AB\033[44m\n\nCD", 3, wrap.always = TRUE, terminate 149s [1] "AB" "\033[44m" "CD" 149s 14/14 wrap.R: strwrap2_ctl("AB\033[44m CD", 4, pad.end = "#") 149s [1] "AB\033[44m#\033[0m" "\033[44mCD#\033[0m" 149s 14/14 wrap.R: strwrap2_ctl("AB\033[44m CD", 3, pad.end = "#") 149s [1] "AB" "\033[44mCD\033[0m" 149s 14/14 wrap.R: strwrap2_sgr("\033[43mAB \033[34mCD", strip.spaces = FALSE, 4) 149s [1] "\033[43mAB \033[0m" "\033[34;43mCD\033[0m" 149s 14/14 wrap.R: strwrap_ctl("\033[31m\033[43m", 5) 149s [1] "" 149s 14/14 wrap.R: strwrap2_ctl("a\033[31mb", 2, wrap.always = TRUE) 149s [1] "a" "\033[31mb\033[0m" 149s 14/14 wrap.R: strwrap_ctl("A \033[31mB\033[39m", 3) 149s [1] "A" "\033[31mB\033[0m" 149s 14/14 wrap.R: strwrap2_ctl("\033[35phello \033[35p world", 5, strip.spaces = FAL 149s Warning in strwrap2_ctl("\033[35phello \033[35p world", 5, strip.spaces = FALSE) : 149s 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. 149s [1] "\033[35phello" " \033[35p " "world" 149s 14/14 wrap.R: identical(strwrap(c(NA, "a b"), 4, prefix = ">"), strwrap_ctl(c(NA 149s [1] TRUE 149s 14/14 wrap.R: identical(strwrap("a b", 4, prefix = NA), strwrap_ctl("a b", 149s [1] TRUE 149s 14/14 wrap.R: unitizer_sect("bad inputs", { 149s 14/14 wrap.R: strwrap_ctl(1:3) 149s [1] "1" "2" "3" 149s 14/14 wrap.R: strwrap_ctl(hello2.0, width = "35") 149s Error in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 149s Argument `width` must be numeric. 149s Calls: unitize_dir ... strwrap_ctl -> strwrap2_ctl -> VAL_WRAP_IN_ENV -> stop2 149s 14/14 wrap.R: strwrap_ctl(hello2.0, width = NA_integer_) 149s Error in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 149s Argument `width` must be a positive scalar numeric representable as integer. 149s Calls: unitize_dir ... strwrap2_ctl -> VAL_WRAP_IN_ENV -> is_scl_int_pos -> stop2 149s 14/14 wrap.R: strwrap_ctl(hello2.0, indent = NA_integer_) 149s Error in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 149s Argument `indent` must be a positive scalar numeric representable as integer. 149s Calls: unitize_dir ... strwrap2_ctl -> VAL_WRAP_IN_ENV -> is_scl_int_pos -> stop2 149s 14/14 wrap.R: strwrap_ctl(hello2.0, indent = -3) 149s Error in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 149s Argument `indent` must be a positive scalar numeric representable as integer. 149s Calls: unitize_dir ... strwrap2_ctl -> VAL_WRAP_IN_ENV -> is_scl_int_pos -> stop2 149s Error in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 149s Argument `exdent` must be a positive scalar numeric representable as integer. 149s Calls: unitize_dir ... strwrap2_ctl -> VAL_WRAP_IN_ENV -> is_scl_int_pos -> stop2 149s 14/14 wrap.R: strwrap_ctl(hello2.0, exdent = -3) 149s Error in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 149s Argument `exdent` must be a positive scalar numeric representable as integer. 149s Calls: unitize_dir ... strwrap2_ctl -> VAL_WRAP_IN_ENV -> is_scl_int_pos -> stop2 149s 14/14 wrap.R: strwrap_ctl(hello2.0, exdent = 1:3) 149s Error in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 149s Argument `prefix` must be a scalar character. 149s Calls: unitize_dir ... strwrap_ctl -> strwrap2_ctl -> VAL_WRAP_IN_ENV -> stop2 149s 14/14 wrap.R: strwrap_ctl(hello2.0, prefix = 1:3) 149s 14/14 wrap.R: strwrap_ctl(hello2.0, initial = 1:3) 149s Error in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 149s Argument `initial` must be a scalar character. 149s Calls: unitize_dir ... strwrap_ctl -> strwrap2_ctl -> VAL_WRAP_IN_ENV -> stop2 149s Error in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 149s Argument `warn` must be TRUE or FALSE. 149s Calls: unitize_dir ... withVisible -> strwrap_ctl -> strwrap2_ctl -> VAL_IN_ENV -> stop2 149s 14/14 wrap.R: strwrap_ctl(hello2.0, warn = NULL) 149s 14/14 wrap.R: strwrap_ctl(hello2.0, term.cap = 1:3) 149s Error in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 149s Argument `term.cap` must be character. 149s Calls: unitize_dir ... withVisible -> strwrap_ctl -> strwrap2_ctl -> VAL_IN_ENV -> stop2 149s 14/14 wrap.R: strwrap_ctl(hello2.0, term.cap = "bananas") 149s Error in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 149s Argument `term.cap` may only contain values in c("all", "bright", "256", "truecolor", "old") 149s Calls: unitize_dir ... withVisible -> strwrap_ctl -> strwrap2_ctl -> VAL_IN_ENV -> stop2 149s 14/14 wrap.R: strwrap_ctl(hello2.0, ctl = 1:3) 149s Error in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 149s Argument `ctl` must be character. 149s Calls: unitize_dir ... withVisible -> strwrap_ctl -> strwrap2_ctl -> VAL_IN_ENV -> stop2 150s 14/14 wrap.R: strwrap_ctl(hello2.0, ctl = "bananas") 150s Error in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 150s Argument `ctl` may contain only values in `c("all", "nl", "c0", "sgr", "csi", "esc", "url", "osc")` 150s Calls: unitize_dir ... withVisible -> strwrap_ctl -> strwrap2_ctl -> VAL_IN_ENV -> stop2 150s 14/14 wrap.R: strwrap2_ctl(hello2.0, wrap.always = 1:3) 150s Error in strwrap2_ctl(hello2.0, wrap.always = 1:3) : 150s Argument `wrap.always` must be TRUE or FALSE. 150s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> strwrap2_ctl 150s 14/14 wrap.R: strwrap2_ctl(hello2.0, wrap.always = NA) 150s Error in strwrap2_ctl(hello2.0, wrap.always = NA) : 150s Argument `wrap.always` must be TRUE or FALSE. 150s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> strwrap2_ctl 150s 14/14 wrap.R: strwrap2_ctl(hello2.0, tabs.as.spaces = NA) 150s Error in strwrap2_ctl(hello2.0, tabs.as.spaces = NA) : 150s Argument `tabs.as.spaces` must be TRUE or FALSE. 150s Calls: unitize_dir ... eval -> withVisible -> strwrap2_ctl -> VAL_IN_ENV -> stop2 150s 14/14 wrap.R: strwrap2_ctl(hello2.0, tabs.as.spaces = 1) 150s [1] "hello \033[31mworld \033[42m this is a lovely\033[0mday." 150s 14/14 wrap.R: strwrap2_ctl(hello2.0, tab.stops = -(1:3)) 150s Error in strwrap2_ctl(hello2.0, tab.stops = -(1:3)) : 150s Argument `tab.stops` must be numeric, strictly positive, and representable as an integer. 150s Calls: unitize_dir ... eval -> withVisible -> strwrap2_ctl -> VAL_IN_ENV -> stop2 150s 14/14 wrap.R: strwrap2_ctl(hello2.0, tab.stops = 0) 150s Error in strwrap2_ctl(hello2.0, tab.stops = 0) : 150s Argument `tab.stops` must be numeric, strictly positive, and representable as an integer. 150s Calls: unitize_dir ... eval -> withVisible -> strwrap2_ctl -> VAL_IN_ENV -> stop2 150s 14/14 wrap.R: strwrap2_ctl(hello2.0, strip.spaces = 1:3) 150s Error in strwrap2_ctl(hello2.0, strip.spaces = 1:3) : 150s Argument `strip.spaces` must be TRUE or FALSE. 150s Calls: unitize_dir ... eval -> withVisible -> strwrap2_ctl -> VAL_IN_ENV -> stop2 150s 14/14 wrap.R: strwrap2_ctl(hello2.0, tabs.as.spaces = TRUE, strip.spaces = TRUE) 150s Error in strwrap2_ctl(hello2.0, tabs.as.spaces = TRUE, strip.spaces = TRUE) : 150s `tabs.as.spaces` and `strip.spaces` should not both be TRUE. 150s Calls: unitize_dir ... withCallingHandlers -> eval -> eval -> withVisible -> strwrap2_ctl 150s 14/14 wrap.R: strwrap2_ctl(hello2.0, pad.end = letters) 150s Error in strwrap2_ctl(hello2.0, pad.end = letters) : 150s Argument `pad.end` must be a scalar character. 150s Calls: unitize_dir ... withVisible -> strwrap2_ctl -> VAL_WRAP_IN_ENV -> stop2 150s 14/14 wrap.R: bytes <- "\360\343" 150s 14/14 wrap.R: Encoding(bytes) <- "bytes" 150s 14/14 wrap.R: strwrap_ctl(hello2.0, prefix = bytes) 150s Error in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 150s Argument `prefix` cannot be "bytes" encoded. 150s Calls: unitize_dir ... strwrap_ctl -> strwrap2_ctl -> VAL_WRAP_IN_ENV -> stop2 150s 14/14 wrap.R: strwrap_ctl(hello2.0, initial = bytes) 150s Error in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 150s Argument `initial` cannot be "bytes" encoded. 150s Calls: unitize_dir ... strwrap_ctl -> strwrap2_ctl -> VAL_WRAP_IN_ENV -> stop2 150s 14/14 wrap.R: strwrap2_ctl(hello2.0, pad.end = bytes) 150s Error in strwrap2_ctl(hello2.0, pad.end = bytes) : 150s Argument `pad.end` cannot be "bytes" encoded. 150s Calls: unitize_dir ... withVisible -> strwrap2_ctl -> VAL_WRAP_IN_ENV -> stop2 150s 14/14 wrap.R: strwrap_ctl(c(hello2.0, bytes)) 150s Error in strwrap2_ctl(x = x, width = width, indent = indent, exdent = exdent, : 150s Argument `x` contains a "bytes" encoded string at index [2], which is disallowed. 150s Calls: unitize_dir ... withVisible -> strwrap_ctl -> strwrap2_ctl -> VAL_IN_ENV -> stop2 150s 150s Prepping Unitizers... 150s Warning in history_capt(history, interactive.mode) : 150s Unable to capture history in non-interactive mode. 151s 151s | Summary of files in common directory '.': 151s | 151s | Pass Fail 151s | 1. has.R 32 - 151s | 2. interactions.R 93 - 151s | 3. misc.R 107 - 151s | 4. nchar.R 48 - 151s | 5. normalize.R 47 - 151s | 6. overflow.R 56 - 151s | 7. strip.R 99 - 151s | 8. strsplit.R 38 - 151s | 9. substr.R 219 - 151s | 10. tabs.R 16 - 151s | 11. tohtml.R 68 - 151s | 12. trimws.R 12 - 151s | 13. url.R 50 - 151s | 14. wrap.R 141 - 151s | .............................. 151s | 1026 - 151s 151s | 1026/1026 tests passed; nothing to review. 151s 151s 151s Error in gzfile(file, "rb") : cannot open the connection 151s In addition: Warning message: 151s In gzfile(file, "rb") : 151s cannot open compressed file 'unitizer/_pre/lorem.data/lorem.cn.phrases.RDS', probable reason 'No such file or directory' 151s Error in unitize_core(test.file.inf, list(store.id.inf), state = state, : 151s Argument `pre` could not be interpreted: 151s Error sourcing file `/tmp/autopkgtest.qHJSz3/autopkgtest_tmp/tests/special/_pre/lorem-utf8.R`, see above for details 151s Calls: unitize -> unitize_core 151s Preloads... 151s Execution halted 151s autopkgtest [10:48:11]: test run-unit-test: -----------------------] 152s run-unit-test FAIL non-zero exit status 1 152s autopkgtest [10:48:12]: test run-unit-test: - - - - - - - - - - results - - - - - - - - - - 153s autopkgtest [10:48:13]: test pkg-r-autopkgtest: preparing testbed 153s Reading package lists... 153s Building dependency tree... 153s Reading state information... 153s Starting pkgProblemResolver with broken count: 0 153s Starting 2 pkgProblemResolver with broken count: 0 154s Done 154s The following NEW packages will be installed: 154s build-essential cpp cpp-14 cpp-14-aarch64-linux-gnu cpp-aarch64-linux-gnu 154s dctrl-tools g++ g++-14 g++-14-aarch64-linux-gnu g++-aarch64-linux-gnu gcc 154s gcc-14 gcc-14-aarch64-linux-gnu gcc-aarch64-linux-gnu gfortran gfortran-14 154s gfortran-14-aarch64-linux-gnu gfortran-aarch64-linux-gnu icu-devtools 154s libasan8 libblas-dev libbz2-dev libcc1-0 libdeflate-dev libgcc-14-dev 154s libgfortran-14-dev libhwasan0 libicu-dev libisl23 libitm1 libjpeg-dev 154s libjpeg-turbo8-dev libjpeg8-dev liblapack-dev liblsan0 liblzma-dev libmpc3 154s libncurses-dev libpcre2-16-0 libpcre2-32-0 libpcre2-dev libpcre2-posix3 154s libpkgconf3 libpng-dev libreadline-dev libstdc++-14-dev libtirpc-dev 154s libtsan2 libubsan1 pkg-r-autopkgtest pkgconf pkgconf-bin r-base-dev 154s zlib1g-dev 154s 0 upgraded, 54 newly installed, 0 to remove and 0 not upgraded. 154s Need to get 92.7 MB of archives. 154s After this operation, 334 MB of additional disk space will be used. 154s Get:1 http://ftpmaster.internal/ubuntu plucky/main arm64 libisl23 arm64 0.27-1 [676 kB] 155s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 libmpc3 arm64 1.3.1-1build2 [56.8 kB] 155s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 cpp-14-aarch64-linux-gnu arm64 14.2.0-17ubuntu3 [10.6 MB] 155s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 cpp-14 arm64 14.2.0-17ubuntu3 [1028 B] 155s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 cpp-aarch64-linux-gnu arm64 4:14.2.0-1ubuntu1 [5558 B] 155s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 cpp arm64 4:14.2.0-1ubuntu1 [22.4 kB] 155s Get:7 http://ftpmaster.internal/ubuntu plucky/main arm64 libcc1-0 arm64 15-20250222-0ubuntu1 [44.2 kB] 155s Get:8 http://ftpmaster.internal/ubuntu plucky/main arm64 libitm1 arm64 15-20250222-0ubuntu1 [28.0 kB] 155s Get:9 http://ftpmaster.internal/ubuntu plucky/main arm64 libasan8 arm64 15-20250222-0ubuntu1 [2924 kB] 155s Get:10 http://ftpmaster.internal/ubuntu plucky/main arm64 liblsan0 arm64 15-20250222-0ubuntu1 [1319 kB] 155s Get:11 http://ftpmaster.internal/ubuntu plucky/main arm64 libtsan2 arm64 15-20250222-0ubuntu1 [2694 kB] 155s Get:12 http://ftpmaster.internal/ubuntu plucky/main arm64 libubsan1 arm64 15-20250222-0ubuntu1 [1178 kB] 155s Get:13 http://ftpmaster.internal/ubuntu plucky/main arm64 libhwasan0 arm64 15-20250222-0ubuntu1 [1642 kB] 156s Get:14 http://ftpmaster.internal/ubuntu plucky/main arm64 libgcc-14-dev arm64 14.2.0-17ubuntu3 [2593 kB] 156s Get:15 http://ftpmaster.internal/ubuntu plucky/main arm64 gcc-14-aarch64-linux-gnu arm64 14.2.0-17ubuntu3 [20.9 MB] 156s Get:16 http://ftpmaster.internal/ubuntu plucky/main arm64 gcc-14 arm64 14.2.0-17ubuntu3 [526 kB] 156s Get:17 http://ftpmaster.internal/ubuntu plucky/main arm64 gcc-aarch64-linux-gnu arm64 4:14.2.0-1ubuntu1 [1200 B] 156s Get:18 http://ftpmaster.internal/ubuntu plucky/main arm64 gcc arm64 4:14.2.0-1ubuntu1 [4998 B] 156s Get:19 http://ftpmaster.internal/ubuntu plucky/main arm64 libstdc++-14-dev arm64 14.2.0-17ubuntu3 [2499 kB] 156s Get:20 http://ftpmaster.internal/ubuntu plucky/main arm64 g++-14-aarch64-linux-gnu arm64 14.2.0-17ubuntu3 [12.1 MB] 157s Get:21 http://ftpmaster.internal/ubuntu plucky/main arm64 g++-14 arm64 14.2.0-17ubuntu3 [21.8 kB] 157s Get:22 http://ftpmaster.internal/ubuntu plucky/main arm64 g++-aarch64-linux-gnu arm64 4:14.2.0-1ubuntu1 [956 B] 157s Get:23 http://ftpmaster.internal/ubuntu plucky/main arm64 g++ arm64 4:14.2.0-1ubuntu1 [1080 B] 157s Get:24 http://ftpmaster.internal/ubuntu plucky/main arm64 build-essential arm64 12.10ubuntu1 [4932 B] 157s Get:25 http://ftpmaster.internal/ubuntu plucky/main arm64 dctrl-tools arm64 2.24-3build3 [103 kB] 157s Get:26 http://ftpmaster.internal/ubuntu plucky/main arm64 libgfortran-14-dev arm64 14.2.0-17ubuntu3 [498 kB] 157s Get:27 http://ftpmaster.internal/ubuntu plucky/main arm64 gfortran-14-aarch64-linux-gnu arm64 14.2.0-17ubuntu3 [11.4 MB] 158s Get:28 http://ftpmaster.internal/ubuntu plucky/main arm64 gfortran-14 arm64 14.2.0-17ubuntu3 [13.6 kB] 158s Get:29 http://ftpmaster.internal/ubuntu plucky/main arm64 gfortran-aarch64-linux-gnu arm64 4:14.2.0-1ubuntu1 [1022 B] 158s Get:30 http://ftpmaster.internal/ubuntu plucky/main arm64 gfortran arm64 4:14.2.0-1ubuntu1 [1166 B] 158s Get:31 http://ftpmaster.internal/ubuntu plucky/main arm64 icu-devtools arm64 76.1-1ubuntu2 [213 kB] 158s Get:32 http://ftpmaster.internal/ubuntu plucky/main arm64 libblas-dev arm64 3.12.1-2 [126 kB] 158s Get:33 http://ftpmaster.internal/ubuntu plucky/main arm64 libbz2-dev arm64 1.0.8-6 [36.1 kB] 158s Get:34 http://ftpmaster.internal/ubuntu plucky/main arm64 libdeflate-dev arm64 1.23-1 [53.7 kB] 158s Get:35 http://ftpmaster.internal/ubuntu plucky/main arm64 libicu-dev arm64 76.1-1ubuntu2 [12.2 MB] 158s Get:36 http://ftpmaster.internal/ubuntu plucky/main arm64 libjpeg-turbo8-dev arm64 2.1.5-3ubuntu2 [306 kB] 158s Get:37 http://ftpmaster.internal/ubuntu plucky/main arm64 libjpeg8-dev arm64 8c-2ubuntu11 [1484 B] 158s Get:38 http://ftpmaster.internal/ubuntu plucky/main arm64 libjpeg-dev arm64 8c-2ubuntu11 [1482 B] 158s Get:39 http://ftpmaster.internal/ubuntu plucky/main arm64 liblapack-dev arm64 3.12.1-2 [4439 kB] 158s Get:40 http://ftpmaster.internal/ubuntu plucky/main arm64 libncurses-dev arm64 6.5+20250216-2 [389 kB] 158s Get:41 http://ftpmaster.internal/ubuntu plucky/main arm64 libpcre2-16-0 arm64 10.45-1 [222 kB] 158s Get:42 http://ftpmaster.internal/ubuntu plucky/main arm64 libpcre2-32-0 arm64 10.45-1 [210 kB] 158s Get:43 http://ftpmaster.internal/ubuntu plucky/main arm64 libpcre2-posix3 arm64 10.45-1 [7084 B] 158s Get:44 http://ftpmaster.internal/ubuntu plucky/main arm64 libpcre2-dev arm64 10.45-1 [768 kB] 158s Get:45 http://ftpmaster.internal/ubuntu plucky/main arm64 libpkgconf3 arm64 1.8.1-4 [31.4 kB] 158s Get:46 http://ftpmaster.internal/ubuntu plucky/main arm64 zlib1g-dev arm64 1:1.3.dfsg+really1.3.1-1ubuntu1 [894 kB] 159s Get:47 http://ftpmaster.internal/ubuntu plucky/main arm64 libpng-dev arm64 1.6.47-1 [269 kB] 159s Get:48 http://ftpmaster.internal/ubuntu plucky/main arm64 libreadline-dev arm64 8.2-6 [179 kB] 159s Get:49 http://ftpmaster.internal/ubuntu plucky/main arm64 liblzma-dev arm64 5.6.4-1 [180 kB] 159s Get:50 http://ftpmaster.internal/ubuntu plucky/main arm64 pkgconf-bin arm64 1.8.1-4 [20.9 kB] 159s Get:51 http://ftpmaster.internal/ubuntu plucky/main arm64 pkgconf arm64 1.8.1-4 [16.7 kB] 159s Get:52 http://ftpmaster.internal/ubuntu plucky/main arm64 libtirpc-dev arm64 1.3.4+ds-1.3 [201 kB] 159s Get:53 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-base-dev all 4.4.3-1 [4176 B] 159s Get:54 http://ftpmaster.internal/ubuntu plucky/universe arm64 pkg-r-autopkgtest all 20231212ubuntu1 [6448 B] 159s Fetched 92.7 MB in 4s (21.2 MB/s) 159s Selecting previously unselected package libisl23:arm64. 159s (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 ... 131587 files and directories currently installed.) 159s Preparing to unpack .../00-libisl23_0.27-1_arm64.deb ... 159s Unpacking libisl23:arm64 (0.27-1) ... 159s Selecting previously unselected package libmpc3:arm64. 159s Preparing to unpack .../01-libmpc3_1.3.1-1build2_arm64.deb ... 159s Unpacking libmpc3:arm64 (1.3.1-1build2) ... 159s Selecting previously unselected package cpp-14-aarch64-linux-gnu. 159s Preparing to unpack .../02-cpp-14-aarch64-linux-gnu_14.2.0-17ubuntu3_arm64.deb ... 159s Unpacking cpp-14-aarch64-linux-gnu (14.2.0-17ubuntu3) ... 159s Selecting previously unselected package cpp-14. 159s Preparing to unpack .../03-cpp-14_14.2.0-17ubuntu3_arm64.deb ... 159s Unpacking cpp-14 (14.2.0-17ubuntu3) ... 159s Selecting previously unselected package cpp-aarch64-linux-gnu. 159s Preparing to unpack .../04-cpp-aarch64-linux-gnu_4%3a14.2.0-1ubuntu1_arm64.deb ... 159s Unpacking cpp-aarch64-linux-gnu (4:14.2.0-1ubuntu1) ... 159s Selecting previously unselected package cpp. 159s Preparing to unpack .../05-cpp_4%3a14.2.0-1ubuntu1_arm64.deb ... 159s Unpacking cpp (4:14.2.0-1ubuntu1) ... 159s Selecting previously unselected package libcc1-0:arm64. 160s Preparing to unpack .../06-libcc1-0_15-20250222-0ubuntu1_arm64.deb ... 160s Unpacking libcc1-0:arm64 (15-20250222-0ubuntu1) ... 160s Selecting previously unselected package libitm1:arm64. 160s Preparing to unpack .../07-libitm1_15-20250222-0ubuntu1_arm64.deb ... 160s Unpacking libitm1:arm64 (15-20250222-0ubuntu1) ... 160s Selecting previously unselected package libasan8:arm64. 160s Preparing to unpack .../08-libasan8_15-20250222-0ubuntu1_arm64.deb ... 160s Unpacking libasan8:arm64 (15-20250222-0ubuntu1) ... 160s Selecting previously unselected package liblsan0:arm64. 160s Preparing to unpack .../09-liblsan0_15-20250222-0ubuntu1_arm64.deb ... 160s Unpacking liblsan0:arm64 (15-20250222-0ubuntu1) ... 160s Selecting previously unselected package libtsan2:arm64. 160s Preparing to unpack .../10-libtsan2_15-20250222-0ubuntu1_arm64.deb ... 160s Unpacking libtsan2:arm64 (15-20250222-0ubuntu1) ... 160s Selecting previously unselected package libubsan1:arm64. 160s Preparing to unpack .../11-libubsan1_15-20250222-0ubuntu1_arm64.deb ... 160s Unpacking libubsan1:arm64 (15-20250222-0ubuntu1) ... 160s Selecting previously unselected package libhwasan0:arm64. 160s Preparing to unpack .../12-libhwasan0_15-20250222-0ubuntu1_arm64.deb ... 160s Unpacking libhwasan0:arm64 (15-20250222-0ubuntu1) ... 160s Selecting previously unselected package libgcc-14-dev:arm64. 160s Preparing to unpack .../13-libgcc-14-dev_14.2.0-17ubuntu3_arm64.deb ... 160s Unpacking libgcc-14-dev:arm64 (14.2.0-17ubuntu3) ... 160s Selecting previously unselected package gcc-14-aarch64-linux-gnu. 160s Preparing to unpack .../14-gcc-14-aarch64-linux-gnu_14.2.0-17ubuntu3_arm64.deb ... 160s Unpacking gcc-14-aarch64-linux-gnu (14.2.0-17ubuntu3) ... 161s Selecting previously unselected package gcc-14. 161s Preparing to unpack .../15-gcc-14_14.2.0-17ubuntu3_arm64.deb ... 161s Unpacking gcc-14 (14.2.0-17ubuntu3) ... 161s Selecting previously unselected package gcc-aarch64-linux-gnu. 161s Preparing to unpack .../16-gcc-aarch64-linux-gnu_4%3a14.2.0-1ubuntu1_arm64.deb ... 161s Unpacking gcc-aarch64-linux-gnu (4:14.2.0-1ubuntu1) ... 161s Selecting previously unselected package gcc. 161s Preparing to unpack .../17-gcc_4%3a14.2.0-1ubuntu1_arm64.deb ... 161s Unpacking gcc (4:14.2.0-1ubuntu1) ... 161s Selecting previously unselected package libstdc++-14-dev:arm64. 161s Preparing to unpack .../18-libstdc++-14-dev_14.2.0-17ubuntu3_arm64.deb ... 161s Unpacking libstdc++-14-dev:arm64 (14.2.0-17ubuntu3) ... 161s Selecting previously unselected package g++-14-aarch64-linux-gnu. 161s Preparing to unpack .../19-g++-14-aarch64-linux-gnu_14.2.0-17ubuntu3_arm64.deb ... 161s Unpacking g++-14-aarch64-linux-gnu (14.2.0-17ubuntu3) ... 161s Selecting previously unselected package g++-14. 161s Preparing to unpack .../20-g++-14_14.2.0-17ubuntu3_arm64.deb ... 161s Unpacking g++-14 (14.2.0-17ubuntu3) ... 161s Selecting previously unselected package g++-aarch64-linux-gnu. 161s Preparing to unpack .../21-g++-aarch64-linux-gnu_4%3a14.2.0-1ubuntu1_arm64.deb ... 161s Unpacking g++-aarch64-linux-gnu (4:14.2.0-1ubuntu1) ... 161s Selecting previously unselected package g++. 161s Preparing to unpack .../22-g++_4%3a14.2.0-1ubuntu1_arm64.deb ... 161s Unpacking g++ (4:14.2.0-1ubuntu1) ... 161s Selecting previously unselected package build-essential. 161s Preparing to unpack .../23-build-essential_12.10ubuntu1_arm64.deb ... 161s Unpacking build-essential (12.10ubuntu1) ... 161s Selecting previously unselected package dctrl-tools. 161s Preparing to unpack .../24-dctrl-tools_2.24-3build3_arm64.deb ... 161s Unpacking dctrl-tools (2.24-3build3) ... 161s Selecting previously unselected package libgfortran-14-dev:arm64. 161s Preparing to unpack .../25-libgfortran-14-dev_14.2.0-17ubuntu3_arm64.deb ... 161s Unpacking libgfortran-14-dev:arm64 (14.2.0-17ubuntu3) ... 161s Selecting previously unselected package gfortran-14-aarch64-linux-gnu. 161s Preparing to unpack .../26-gfortran-14-aarch64-linux-gnu_14.2.0-17ubuntu3_arm64.deb ... 161s Unpacking gfortran-14-aarch64-linux-gnu (14.2.0-17ubuntu3) ... 162s Selecting previously unselected package gfortran-14. 162s Preparing to unpack .../27-gfortran-14_14.2.0-17ubuntu3_arm64.deb ... 162s Unpacking gfortran-14 (14.2.0-17ubuntu3) ... 162s Selecting previously unselected package gfortran-aarch64-linux-gnu. 162s Preparing to unpack .../28-gfortran-aarch64-linux-gnu_4%3a14.2.0-1ubuntu1_arm64.deb ... 162s Unpacking gfortran-aarch64-linux-gnu (4:14.2.0-1ubuntu1) ... 162s Selecting previously unselected package gfortran. 162s Preparing to unpack .../29-gfortran_4%3a14.2.0-1ubuntu1_arm64.deb ... 162s Unpacking gfortran (4:14.2.0-1ubuntu1) ... 162s Selecting previously unselected package icu-devtools. 162s Preparing to unpack .../30-icu-devtools_76.1-1ubuntu2_arm64.deb ... 162s Unpacking icu-devtools (76.1-1ubuntu2) ... 162s Selecting previously unselected package libblas-dev:arm64. 162s Preparing to unpack .../31-libblas-dev_3.12.1-2_arm64.deb ... 162s Unpacking libblas-dev:arm64 (3.12.1-2) ... 162s Selecting previously unselected package libbz2-dev:arm64. 162s Preparing to unpack .../32-libbz2-dev_1.0.8-6_arm64.deb ... 162s Unpacking libbz2-dev:arm64 (1.0.8-6) ... 162s Selecting previously unselected package libdeflate-dev:arm64. 162s Preparing to unpack .../33-libdeflate-dev_1.23-1_arm64.deb ... 162s Unpacking libdeflate-dev:arm64 (1.23-1) ... 162s Selecting previously unselected package libicu-dev:arm64. 162s Preparing to unpack .../34-libicu-dev_76.1-1ubuntu2_arm64.deb ... 162s Unpacking libicu-dev:arm64 (76.1-1ubuntu2) ... 162s Selecting previously unselected package libjpeg-turbo8-dev:arm64. 162s Preparing to unpack .../35-libjpeg-turbo8-dev_2.1.5-3ubuntu2_arm64.deb ... 162s Unpacking libjpeg-turbo8-dev:arm64 (2.1.5-3ubuntu2) ... 162s Selecting previously unselected package libjpeg8-dev:arm64. 162s Preparing to unpack .../36-libjpeg8-dev_8c-2ubuntu11_arm64.deb ... 162s Unpacking libjpeg8-dev:arm64 (8c-2ubuntu11) ... 162s Selecting previously unselected package libjpeg-dev:arm64. 162s Preparing to unpack .../37-libjpeg-dev_8c-2ubuntu11_arm64.deb ... 162s Unpacking libjpeg-dev:arm64 (8c-2ubuntu11) ... 162s Selecting previously unselected package liblapack-dev:arm64. 163s Preparing to unpack .../38-liblapack-dev_3.12.1-2_arm64.deb ... 163s Unpacking liblapack-dev:arm64 (3.12.1-2) ... 163s Selecting previously unselected package libncurses-dev:arm64. 163s Preparing to unpack .../39-libncurses-dev_6.5+20250216-2_arm64.deb ... 163s Unpacking libncurses-dev:arm64 (6.5+20250216-2) ... 163s Selecting previously unselected package libpcre2-16-0:arm64. 163s Preparing to unpack .../40-libpcre2-16-0_10.45-1_arm64.deb ... 163s Unpacking libpcre2-16-0:arm64 (10.45-1) ... 163s Selecting previously unselected package libpcre2-32-0:arm64. 163s Preparing to unpack .../41-libpcre2-32-0_10.45-1_arm64.deb ... 163s Unpacking libpcre2-32-0:arm64 (10.45-1) ... 163s Selecting previously unselected package libpcre2-posix3:arm64. 163s Preparing to unpack .../42-libpcre2-posix3_10.45-1_arm64.deb ... 163s Unpacking libpcre2-posix3:arm64 (10.45-1) ... 163s Selecting previously unselected package libpcre2-dev:arm64. 163s Preparing to unpack .../43-libpcre2-dev_10.45-1_arm64.deb ... 163s Unpacking libpcre2-dev:arm64 (10.45-1) ... 163s Selecting previously unselected package libpkgconf3:arm64. 163s Preparing to unpack .../44-libpkgconf3_1.8.1-4_arm64.deb ... 163s Unpacking libpkgconf3:arm64 (1.8.1-4) ... 163s Selecting previously unselected package zlib1g-dev:arm64. 163s Preparing to unpack .../45-zlib1g-dev_1%3a1.3.dfsg+really1.3.1-1ubuntu1_arm64.deb ... 163s Unpacking zlib1g-dev:arm64 (1:1.3.dfsg+really1.3.1-1ubuntu1) ... 163s Selecting previously unselected package libpng-dev:arm64. 163s Preparing to unpack .../46-libpng-dev_1.6.47-1_arm64.deb ... 163s Unpacking libpng-dev:arm64 (1.6.47-1) ... 163s Selecting previously unselected package libreadline-dev:arm64. 163s Preparing to unpack .../47-libreadline-dev_8.2-6_arm64.deb ... 163s Unpacking libreadline-dev:arm64 (8.2-6) ... 163s Selecting previously unselected package liblzma-dev:arm64. 163s Preparing to unpack .../48-liblzma-dev_5.6.4-1_arm64.deb ... 163s Unpacking liblzma-dev:arm64 (5.6.4-1) ... 163s Selecting previously unselected package pkgconf-bin. 163s Preparing to unpack .../49-pkgconf-bin_1.8.1-4_arm64.deb ... 163s Unpacking pkgconf-bin (1.8.1-4) ... 163s Selecting previously unselected package pkgconf:arm64. 163s Preparing to unpack .../50-pkgconf_1.8.1-4_arm64.deb ... 163s Unpacking pkgconf:arm64 (1.8.1-4) ... 163s Selecting previously unselected package libtirpc-dev:arm64. 163s Preparing to unpack .../51-libtirpc-dev_1.3.4+ds-1.3_arm64.deb ... 163s Unpacking libtirpc-dev:arm64 (1.3.4+ds-1.3) ... 163s Selecting previously unselected package r-base-dev. 163s Preparing to unpack .../52-r-base-dev_4.4.3-1_all.deb ... 163s Unpacking r-base-dev (4.4.3-1) ... 163s Selecting previously unselected package pkg-r-autopkgtest. 164s Preparing to unpack .../53-pkg-r-autopkgtest_20231212ubuntu1_all.deb ... 164s Unpacking pkg-r-autopkgtest (20231212ubuntu1) ... 164s Setting up libjpeg-turbo8-dev:arm64 (2.1.5-3ubuntu2) ... 164s Setting up libncurses-dev:arm64 (6.5+20250216-2) ... 164s Setting up libreadline-dev:arm64 (8.2-6) ... 164s Setting up libpcre2-16-0:arm64 (10.45-1) ... 164s Setting up libpcre2-32-0:arm64 (10.45-1) ... 164s Setting up libtirpc-dev:arm64 (1.3.4+ds-1.3) ... 164s Setting up libpkgconf3:arm64 (1.8.1-4) ... 164s Setting up libmpc3:arm64 (1.3.1-1build2) ... 164s Setting up icu-devtools (76.1-1ubuntu2) ... 164s Setting up pkgconf-bin (1.8.1-4) ... 164s Setting up liblzma-dev:arm64 (5.6.4-1) ... 164s Setting up libubsan1:arm64 (15-20250222-0ubuntu1) ... 164s Setting up zlib1g-dev:arm64 (1:1.3.dfsg+really1.3.1-1ubuntu1) ... 164s Setting up libpcre2-posix3:arm64 (10.45-1) ... 164s Setting up libhwasan0:arm64 (15-20250222-0ubuntu1) ... 164s Setting up libasan8:arm64 (15-20250222-0ubuntu1) ... 164s Setting up libtsan2:arm64 (15-20250222-0ubuntu1) ... 164s Setting up libjpeg8-dev:arm64 (8c-2ubuntu11) ... 164s Setting up libisl23:arm64 (0.27-1) ... 164s Setting up libdeflate-dev:arm64 (1.23-1) ... 164s Setting up libicu-dev:arm64 (76.1-1ubuntu2) ... 164s Setting up libcc1-0:arm64 (15-20250222-0ubuntu1) ... 164s Setting up liblsan0:arm64 (15-20250222-0ubuntu1) ... 164s Setting up libblas-dev:arm64 (3.12.1-2) ... 164s update-alternatives: using /usr/lib/aarch64-linux-gnu/blas/libblas.so to provide /usr/lib/aarch64-linux-gnu/libblas.so (libblas.so-aarch64-linux-gnu) in auto mode 164s Setting up dctrl-tools (2.24-3build3) ... 164s Setting up libitm1:arm64 (15-20250222-0ubuntu1) ... 164s Setting up libbz2-dev:arm64 (1.0.8-6) ... 164s Setting up libpcre2-dev:arm64 (10.45-1) ... 164s Setting up libpng-dev:arm64 (1.6.47-1) ... 164s Setting up libjpeg-dev:arm64 (8c-2ubuntu11) ... 164s Setting up pkgconf:arm64 (1.8.1-4) ... 164s Setting up liblapack-dev:arm64 (3.12.1-2) ... 164s update-alternatives: using /usr/lib/aarch64-linux-gnu/lapack/liblapack.so to provide /usr/lib/aarch64-linux-gnu/liblapack.so (liblapack.so-aarch64-linux-gnu) in auto mode 164s Setting up cpp-14-aarch64-linux-gnu (14.2.0-17ubuntu3) ... 164s Setting up libgcc-14-dev:arm64 (14.2.0-17ubuntu3) ... 164s Setting up libstdc++-14-dev:arm64 (14.2.0-17ubuntu3) ... 164s Setting up libgfortran-14-dev:arm64 (14.2.0-17ubuntu3) ... 164s Setting up cpp-aarch64-linux-gnu (4:14.2.0-1ubuntu1) ... 164s Setting up cpp-14 (14.2.0-17ubuntu3) ... 164s Setting up cpp (4:14.2.0-1ubuntu1) ... 164s Setting up gcc-14-aarch64-linux-gnu (14.2.0-17ubuntu3) ... 164s Setting up gcc-aarch64-linux-gnu (4:14.2.0-1ubuntu1) ... 164s Setting up g++-14-aarch64-linux-gnu (14.2.0-17ubuntu3) ... 164s Setting up gcc-14 (14.2.0-17ubuntu3) ... 164s Setting up gfortran-14-aarch64-linux-gnu (14.2.0-17ubuntu3) ... 164s Setting up g++-aarch64-linux-gnu (4:14.2.0-1ubuntu1) ... 164s Setting up gfortran-aarch64-linux-gnu (4:14.2.0-1ubuntu1) ... 164s Setting up g++-14 (14.2.0-17ubuntu3) ... 164s Setting up gfortran-14 (14.2.0-17ubuntu3) ... 164s Setting up gcc (4:14.2.0-1ubuntu1) ... 164s Setting up g++ (4:14.2.0-1ubuntu1) ... 164s update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode 164s Setting up build-essential (12.10ubuntu1) ... 164s Setting up gfortran (4:14.2.0-1ubuntu1) ... 164s update-alternatives: using /usr/bin/gfortran to provide /usr/bin/f95 (f95) in auto mode 164s update-alternatives: warning: skip creation of /usr/share/man/man1/f95.1.gz because associated file /usr/share/man/man1/gfortran.1.gz (of link group f95) doesn't exist 164s update-alternatives: using /usr/bin/gfortran to provide /usr/bin/f77 (f77) in auto mode 164s update-alternatives: warning: skip creation of /usr/share/man/man1/f77.1.gz because associated file /usr/share/man/man1/gfortran.1.gz (of link group f77) doesn't exist 164s Setting up r-base-dev (4.4.3-1) ... 164s Setting up pkg-r-autopkgtest (20231212ubuntu1) ... 164s Processing triggers for libc-bin (2.41-1ubuntu1) ... 164s Processing triggers for man-db (2.13.0-1) ... 165s Processing triggers for install-info (7.1.1-1) ... 166s autopkgtest [10:48:26]: test pkg-r-autopkgtest: /usr/share/dh-r/pkg-r-autopkgtest 166s autopkgtest [10:48:26]: test pkg-r-autopkgtest: [----------------------- 166s Test: Try to load the R library fansi 166s 166s R version 4.4.3 (2025-02-28) -- "Trophy Case" 166s Copyright (C) 2025 The R Foundation for Statistical Computing 166s Platform: aarch64-unknown-linux-gnu 166s 166s R is free software and comes with ABSOLUTELY NO WARRANTY. 166s You are welcome to redistribute it under certain conditions. 166s Type 'license()' or 'licence()' for distribution details. 166s 166s R is a collaborative project with many contributors. 166s Type 'contributors()' for more information and 166s 'citation()' on how to cite R or R packages in publications. 166s 166s Type 'demo()' for some demos, 'help()' for on-line help, or 166s 'help.start()' for an HTML browser interface to help. 166s Type 'q()' to quit R. 166s 166s > library('fansi') 166s > 166s > 166s Other tests are currently unsupported! 166s They will be progressively added. 167s autopkgtest [10:48:27]: test pkg-r-autopkgtest: -----------------------] 167s pkg-r-autopkgtest PASS 167s autopkgtest [10:48:27]: test pkg-r-autopkgtest: - - - - - - - - - - results - - - - - - - - - - 168s autopkgtest [10:48:28]: @@@@@@@@@@@@@@@@@@@@ summary 168s run-unit-test FAIL non-zero exit status 1 168s pkg-r-autopkgtest PASS 187s nova [W] Using flock in prodstack6-arm64 187s Creating nova instance adt-plucky-arm64-r-cran-fansi-20250313-104540-juju-7f2275-prod-proposed-migration-environment-2-6f58a13c-40ca-4e0e-82f5-567ff5069195 from image adt/ubuntu-plucky-arm64-server-20250313.img (UUID 1e0d5b46-827c-482e-8813-f0c13efee277)... 187s nova [W] Timed out waiting for c6033144-2ab2-4ca0-87eb-81222c942259 to get deleted.