My earlier patch to add case handling to the spell checker caused a
Fortran regression.  I believe I must have misread the test results.

This patch fixes the problem by changing the cutoff.  I chose this
value because the previous patch effectively multiplied the result of
get_edit_distance by 2 (unless a case change is involved).

gcc/fortran/ChangeLog:

        PR fortran/95509
        * misc.c (gfc_closest_fuzzy_match):
---
 gcc/fortran/misc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gcc/fortran/misc.c b/gcc/fortran/misc.c
index 0fc25df8a22..46c6277c2b9 100644
--- a/gcc/fortran/misc.c
+++ b/gcc/fortran/misc.c
@@ -397,7 +397,7 @@ gfc_closest_fuzzy_match (const char *typo, char 
**candidates)
      likely to be meaningless.  */
   if (best)
     {
-      unsigned int cutoff = MAX (tl, strlen (best)) / 2;
+      unsigned int cutoff = MAX (tl, strlen (best));
 
       if (best_distance > cutoff)
        {
-- 
2.21.3

Reply via email to