Skip to content

Commit

Permalink
Fix the grammar of an error message
Browse files Browse the repository at this point in the history
  • Loading branch information
Kodiologist committed Aug 11, 2017
1 parent 1faee7a commit cca8bee
Showing 1 changed file with 7 additions and 3 deletions.
10 changes: 7 additions & 3 deletions hy/compiler.py
Original file line number Diff line number Diff line change
Expand Up @@ -322,21 +322,25 @@ def _raise_wrong_args_number(expression, error):
len(expression)))


def _nargs(n):
return "%d argument%s" % (n, ("" if n == 1 else "s"))


def checkargs(exact=None, min=None, max=None, even=None, multiple=None):
def _dec(fn):
def checker(self, expression):
if exact is not None and (len(expression) - 1) != exact:
_raise_wrong_args_number(
expression, "`%%s' needs %d arguments, got %%d" % exact)
expression, "`%%s' needs %s, got %%d" % _nargs(exact))
if min is not None and (len(expression) - 1) < min:
_raise_wrong_args_number(
expression,
"`%%s' needs at least %d arguments, got %%d." % (min))
"`%%s' needs at least %s, got %%d." % _nargs(min))

if max is not None and (len(expression) - 1) > max:
_raise_wrong_args_number(
expression,
"`%%s' needs at most %d arguments, got %%d" % (max))
"`%%s' needs at most %s, got %%d" % _nargs(max))

is_even = not((len(expression) - 1) % 2)
if even is not None and is_even != even:
Expand Down

0 comments on commit cca8bee

Please sign in to comment.