You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
PHP 8.4 adds grapheme_strimwidth() — grapheme-cluster-aware string trim by display width (intl). Closed umbrella #6081 tracked both grapheme_strimwidth() and mb_str_pad(); mb_str_pad() is now registered on VM (function_exists → true, verified 2026-06-18) but grapheme_strimwidth() remains absent (function_exists → false).
Category
stdlib· php-src-strictProblem
PHP 8.4 adds
grapheme_strimwidth()— grapheme-cluster-aware string trim by display width (intl). Closed umbrella #6081 tracked bothgrapheme_strimwidth()andmb_str_pad();mb_str_pad()is now registered on VM (function_exists→ true, verified 2026-06-18) butgrapheme_strimwidth()remains absent (function_exists→ false).php-src reference
ext/intl/grapheme/grapheme_string.c—PHP_FUNCTION(grapheme_strimwidth)ext/intl/grapheme/grapheme_string.stub.phpgrapheme_str_split, Stdlib: grapheme_extract() — missing intl grapheme substring extractor (ext/intl/grapheme) #6023grapheme_extractRepro
function_existstruefalseScope (this repo)
ext/intl/orext/standard/grapheme_strimwidth.phpVM handlerUtf8JitHelper/ mbstring width helpers where possibleext/intl/Module.phporext/standard/Module.phptest/compliance/cases/stdlib/grapheme_strimwidth.phptPHP-in-PHP first: implement width trim in PHP; thin ICU/libc only if proven necessary.
Done when
function_exists('grapheme_strimwidth')true on VMTypeError(php-src-strict)./script/ci-fast.sh --filter grapheme_strimwidthgreenRelated
mb_str_padlanded) · Epic: Self-host critical path — compiler compiles itself (M3→M5) #1492