diff --git a/.devel/sphinx/install.md b/.devel/sphinx/install.md index 47f2b8be..9f501e09 100644 --- a/.devel/sphinx/install.md +++ b/.devel/sphinx/install.md @@ -14,6 +14,21 @@ Hopefully, they can be resolved with the help of this short manual. Below we also describe some available build process tweaks. +> To get the most out of stringi, you are strongly encouraged to rely +> on our custom ICU4C 74.1 bundle by calling: +> +> ```r +> install.packages("stringi", configure.args="--disable-pkg-config") +> ``` +> +> This ensures maximum portability across all platforms +> (Windows and macOS users fetch the pre-compiled binaries +> from CRAN built precisely this way). + + + + + ## ICU4C The stringi package depends on the ICU4C >= 61 library. @@ -35,11 +50,6 @@ if we install the package from sources and one of the following is true: `install.packages("stringi", configure.args="--disable-pkg-config")` is executed. -> Actually, to get the most out of stringi, you are strongly encouraged to rely -> on our ICU4C bundle. This ensures maximum portability across all platforms -> (Windows and macOS users fetch the pre-compiled binaries -> from CRAN built precisely this way). - ## Customising the Build Process diff --git a/.devel/sphinx/news.md b/.devel/sphinx/news.md index 41d92aad..2ad7fb07 100644 --- a/.devel/sphinx/news.md +++ b/.devel/sphinx/news.md @@ -17,11 +17,11 @@ * [NEW FEATURE] TODO.... #469: `stri_datetime_parse` .. new argument - -`default_time` - a Calendar set on input to the date and time to be used for missing values in the date/time string being parsed + `default_time` a Calendar set on input to the date and time to be used + for missing values in the date/time string being parsed -* [BUGFIX] TODO.... #469: `stri_datetime_parse` did not reset the `Calendar` object - when parsing multiple dates. +* [BUGFIX] TODO.... #469: `stri_datetime_parse` did not reset the `Calendar` + object when parsing multiple dates. * [NEW FEATURE] TODO... #476 U_USING_DEFAULT_ERROR on unknown locales @@ -33,7 +33,7 @@ ## 1.7.12 (2023-01-09) -* [BUGFIX] Fixed some potential problems reported by `rchk`. +* [BUGFIX] Fixed a few issues reported by `rchk`. * [NOTE] [BACKWARD INCOMPATIBLE CHANGE IF ICU >= 72] If building against ICU >= 72, note a backward incompatible change: @@ -47,7 +47,7 @@ the *Journal of Statistical Software*; see . -* [BUGFIX] #473, #397: Fixed buffer overflow in `stri_dup`. +* [BUGFIX] #473, #397: Fixed buffer overflow in `stri_dup`; Also, `stri_dup`, `stri_paste`, ... fail more graciously on attempts to generate strings of length >= 2^31 each. diff --git a/.devel/sphinx/rapi/stri_datetime_add.md b/.devel/sphinx/rapi/stri_datetime_add.md index 35becea1..f5a63b4c 100644 --- a/.devel/sphinx/rapi/stri_datetime_add.md +++ b/.devel/sphinx/rapi/stri_datetime_add.md @@ -68,7 +68,7 @@ print(x) ``` ``` -## [1] "2024-01-05 14:22:31 AEDT" +## [1] "2024-01-05 14:58:29 AEDT" ``` ```r @@ -76,7 +76,7 @@ stri_datetime_add(x, -2, units='months') ``` ``` -## [1] "2023-11-05 14:22:31 AEDT" +## [1] "2023-11-05 14:58:29 AEDT" ``` ```r diff --git a/.devel/sphinx/rapi/stri_datetime_fields.md b/.devel/sphinx/rapi/stri_datetime_fields.md index dd7bca22..e6dab43c 100644 --- a/.devel/sphinx/rapi/stri_datetime_fields.md +++ b/.devel/sphinx/rapi/stri_datetime_fields.md @@ -77,7 +77,7 @@ stri_datetime_fields(stri_datetime_now()) ``` ## Year Month Day Hour Minute Second Millisecond WeekOfYear WeekOfMonth -## 1 2023 11 5 14 22 31 945 45 1 +## 1 2023 11 5 14 58 29 415 45 1 ## DayOfYear DayOfWeek Hour12 AmPm Era ## 1 309 1 2 2 2 ``` @@ -88,7 +88,7 @@ stri_datetime_fields(stri_datetime_now(), locale='@calendar=hebrew') ``` ## Year Month Day Hour Minute Second Millisecond WeekOfYear WeekOfMonth -## 1 5784 2 21 14 22 31 950 8 3 +## 1 5784 2 21 14 58 29 420 8 3 ## DayOfYear DayOfWeek Hour12 AmPm Era ## 1 51 1 2 2 1 ``` diff --git a/.devel/sphinx/rapi/stri_datetime_format.md b/.devel/sphinx/rapi/stri_datetime_format.md index 42d646fc..e4bcc5c0 100644 --- a/.devel/sphinx/rapi/stri_datetime_format.md +++ b/.devel/sphinx/rapi/stri_datetime_format.md @@ -189,7 +189,7 @@ stri_datetime_parse(x, 'yyyy-MM-dd') ``` ``` -## [1] "2015-02-28 14:22:32 AEDT" NA +## [1] "2015-02-28 14:58:29 AEDT" NA ``` ```r @@ -197,7 +197,7 @@ stri_datetime_parse(x, 'yyyy-MM-dd', lenient=TRUE) ``` ``` -## [1] "2015-02-28 14:22:32 AEDT" "2015-03-01 14:22:32 AEDT" +## [1] "2015-02-28 14:58:29 AEDT" "2015-03-01 14:58:29 AEDT" ``` ```r @@ -213,7 +213,7 @@ stri_datetime_parse('19 lipca 2015', 'date_long', locale='pl_PL') ``` ``` -## [1] "2015-07-19 14:22:32 AEST" +## [1] "2015-07-19 14:58:29 AEST" ``` ```r @@ -221,5 +221,5 @@ stri_datetime_format(stri_datetime_now(), 'datetime_relative_medium') ``` ``` -## [1] "today, 2:22:32 pm" +## [1] "today, 2:58:29 pm" ``` diff --git a/.devel/sphinx/rapi/stri_sprintf.md b/.devel/sphinx/rapi/stri_sprintf.md index 731a63a2..8e98e364 100644 --- a/.devel/sphinx/rapi/stri_sprintf.md +++ b/.devel/sphinx/rapi/stri_sprintf.md @@ -188,7 +188,7 @@ stri_sprintf("UNIX time %1$f is %1$s.", Sys.time()) ``` ``` -## [1] "UNIX time 1699154561.661119 is 2023-11-05 14:22:41.661119." +## [1] "UNIX time 1699156720.181697 is 2023-11-05 14:58:40.181697." ``` ```r @@ -213,7 +213,7 @@ stri_sprintf("%1$s is %1$f UNIX time.", Sys.time()) # re-coercion needed ``` ``` -## [1] "2023-11-05 14:22:41.662826 is 1699154561.662826 UNIX time." +## [1] "2023-11-05 14:58:40.183604 is 1699156720.183604 UNIX time." ``` ```r diff --git a/.github/workflows/r-icu-bundle.yml b/.github/workflows/r-icu-bundle.yml index 1340fc98..bff2c584 100644 --- a/.github/workflows/r-icu-bundle.yml +++ b/.github/workflows/r-icu-bundle.yml @@ -15,8 +15,6 @@ jobs: run: | sudo apt-get update -qq # https://cran.r-project.org/bin/linux/ubuntu/ - sudo echo "pl_PL.UTF-8" >> /etc/locale.gen - sudo locale-gen sudo apt install --no-install-recommends software-properties-common dirmngr sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9 sudo add-apt-repository "deb https://cloud.r-project.org/bin/linux/ubuntu $(lsb_release -cs)-cran40/" @@ -29,5 +27,3 @@ jobs: - name: Test stringi run: | Rscript -e 'source(".devel/tinytest.R")' - LC_ALL="pl_PL.UTF-8" Rscript -e 'source(".devel/tinytest.R")' - LC_ALL="C" Rscript -e 'source(".devel/tinytest.R")' diff --git a/.github/workflows/r-icu-system.yml b/.github/workflows/r-icu-system.yml index 579a8175..00fc183c 100644 --- a/.github/workflows/r-icu-system.yml +++ b/.github/workflows/r-icu-system.yml @@ -25,8 +25,6 @@ jobs: run: | sudo apt-get update sudo apt-get -y upgrade - sudo echo "pl_PL.UTF-8" >> /etc/locale.gen - sudo locale-gen sudo apt-get -y install libcurl4-openssl-dev r-base-dev devscripts libicu-dev language-pack-pl sudo Rscript -e "install.packages(c('tinytest', 'Rcpp'))" - name: Install stringi @@ -35,5 +33,3 @@ jobs: - name: Test stringi run: | Rscript -e 'source(".devel/tinytest.R")' - LC_ALL="pl_PL.UTF-8" Rscript -e 'source(".devel/tinytest.R")' - LC_ALL="C" Rscript -e 'source(".devel/tinytest.R")' diff --git a/INSTALL b/INSTALL index 47f2b8be..9f501e09 100644 --- a/INSTALL +++ b/INSTALL @@ -14,6 +14,21 @@ Hopefully, they can be resolved with the help of this short manual. Below we also describe some available build process tweaks. +> To get the most out of stringi, you are strongly encouraged to rely +> on our custom ICU4C 74.1 bundle by calling: +> +> ```r +> install.packages("stringi", configure.args="--disable-pkg-config") +> ``` +> +> This ensures maximum portability across all platforms +> (Windows and macOS users fetch the pre-compiled binaries +> from CRAN built precisely this way). + + + + + ## ICU4C The stringi package depends on the ICU4C >= 61 library. @@ -35,11 +50,6 @@ if we install the package from sources and one of the following is true: `install.packages("stringi", configure.args="--disable-pkg-config")` is executed. -> Actually, to get the most out of stringi, you are strongly encouraged to rely -> on our ICU4C bundle. This ensures maximum portability across all platforms -> (Windows and macOS users fetch the pre-compiled binaries -> from CRAN built precisely this way). - ## Customising the Build Process