EDIT: see post #25 - new version
Here's a new version of the smarten plugin, contains a couple of fixes and the apos_exceptions.txt file is now dealt with differently, you can have more than one entry on each line and you can include the apostrophe or leave out it.
Any other problems or case-fixes please let me know.
Edit:
If you don't want it to do any of the (m/n)dash or ellipsis entities, you can comment out the following lines (add a # to beginning of the line) in the smarten.py file
31, 32, 33 and 53, 54, 55
Edit 2:
One fix already, change line 63 (of smarten.py) to following - it adds \b to the regex. If a single quote preceded a word which was also in apos_exceptions word, then it got changed to an apostrophe, when it shouldn't have done - should be an open quote.
e.g. ('im is in apos_exception.txt) 'important'
Code:
text = re.sub(r"'("+entry.strip("'")+"\b)", r"’\1", text)