From f43a7744854e1cdd85a386dd0e0a10c894f9d8c8 Mon Sep 17 00:00:00 2001 From: Mac Date: Fri, 3 Jul 2015 17:09:27 -0500 Subject: [PATCH] Fixed singularize to handle -ss singular nouns Code didn't condition final removal of -s on not following another s. See rules from http://www.csse.monash.edu.au/~damian/papers/HTML/Plurals.html: `if suffix(-[^s]s), return inflection(-s,-) ` Previously, singularize('business') => 'busines' which is incorrect. --- pattern/text/en/inflect.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pattern/text/en/inflect.py b/pattern/text/en/inflect.py index 1b76a87d..afe6343c 100644 --- a/pattern/text/en/inflect.py +++ b/pattern/text/en/inflect.py @@ -506,7 +506,7 @@ def pluralize(word, pos=NOUN, custom={}, classical=True): # -a (r'(?i)([ti])a$' , '\\1um' ), (r'(?i)(n)ews$' , '\\1ews' ), - (r'(?i)s$' , '' ), + (r'(?i)([^s])s$' , '\\1' ), ] # For performance, compile the regular expressions only once: