Bug #80073 [Ver->Csd]: levenshtein(): new ValueError not documented

From: Date: Fri, 09 Oct 2020 14:15:07 +0000
Subject: Bug #80073 [Ver->Csd]: levenshtein(): new ValueError not documented
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-229486@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=80073&edit=1 ID: 80073 Updated by: nikic@php.net Reported by: claude dot pache at gmail dot com Summary: levenshtein(): new ValueError not documented -Status: Verified +Status: Closed Type: Bug Package: *General Issues PHP Version: 8.0.0 Assigned To: nikic Block user comment: N Private report: N New Comment: The string length limitation and the accompanying ValueError are now gone... Previous Comments: ------------------------------------------------------------------------ [2020-10-06 15:18:57] nikic@php.net PR to drop the check: https://github.com/php/php-src/pull/6286 ------------------------------------------------------------------------ [2020-10-06 15:10:59] nikic@php.net I wonder if we can't just drop that error condition altogether. Why is there a limitation of 255 characters? My best guess is that it's supposed to protected against the quadratic time complexity of the algorithm. But then again, the similar_text() function which has much worse (cubic) complexity, does not come with such a limitation. This doesn't seem like something PHP should be enforcing. ------------------------------------------------------------------------ [2020-09-07 10:01:39] requinix@php.net Changed during https://github.com/php/php-src/pull/5816 ------------------------------------------------------------------------ [2020-09-07 09:52:13] claude dot pache at gmail dot com Moreover, the change of behaviour of levenshthein() between PHP 7 and PHP 8 (which is a BC break) is currently not documented in UPGRADING: https://github.com/php/php-src/blob/php-8.0.0beta3/UPGRADING ------------------------------------------------------------------------ [2020-09-07 09:38:16] claude dot pache at gmail dot com Description: ------------ In the manual page: https://www.php.net/manual/function.levenshtein.php it is stated that levenshtein() returns -1 if one argument is too long, but it doesn’t say that an error is emitted. Test script: --------------- var_dump(levenshtein(str_repeat('X', 300), 'a')); Expected result: ---------------- Per the manual page; dumps -1 without warning/error. Actual result: -------------- In PHP 7: Emits a Warning and dumps -1. In PHP 8: Throws a ValueError. ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=80073&edit=1

« previous php.bugs (#229486) next »