diff --git a/CHANGELOG b/CHANGELOG index 3e77fdf2..56ebff26 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -7,6 +7,9 @@ Version 2.9 The options --f and --F has been added. + Weighted distance for autocorrection on pony names and boolean style name is set to 5, rather + than unlimited. Currently this cannot be modified (without editing the source code.) + Version 2.8 diff --git a/manuals/ponysay.texinfo b/manuals/ponysay.texinfo index fc96d07d..f2c9cb8a 100644 --- a/manuals/ponysay.texinfo +++ b/manuals/ponysay.texinfo @@ -1991,6 +1991,9 @@ may be used multiple times for more arguments. The old option @option{-q} is renamed to @option{--q}. @item The options @option{--f} and @option{--F} has been added. +@item +Weighted distance for autocorrection on pony names and boolean style name is set to 5, rather +than unlimited. Currently this cannot be modified (without editing the source code.) @end itemize diff --git a/ponysay.py b/ponysay.py index 44ff0092..502b85f7 100755 --- a/ponysay.py +++ b/ponysay.py @@ -319,7 +319,7 @@ class Ponysay(): if not alt: autocorrect = SpelloCorrecter(ponydirs, '.pony') (alternatives, dist) = autocorrect.correct(pony) - if len(alternatives) > 0: + if (len(alternatives) > 0) and (dist <= 5): # TODO the limit `dist` should be configureable return self.__getponypath(alternatives, True) sys.stderr.write('I have never heard of anypony named %s\n' % (pony)); exit(1) @@ -672,8 +672,8 @@ class Ponysay(): if balloon not in balloons: if not alt: autocorrect = SpelloCorrecter(balloondirs, '.think' if isthink else '.say') - alternatives = autocorrect.correct(balloon)[0] - if len(alternatives) > 0: + (alternatives, dist) = autocorrect.correct(balloon) + if (len(alternatives) > 0) and (dist <= 5): # TODO the limit `dist` should be configureable return self.__getponypath(alternatives, True) sys.stderr.write('That balloon style %s does not exist\n' % (balloon)); exit(1)