I am having the same issue as in this question. I adopted the solution in the posted answer. That solution solves the "et al." problem.
However, I would also like to allow years with more than 4 characters.
When I modify the 4 to a 20 in this line:
year field.or.null purify$ #-1 #4 substring$
I get side effects like years missing from some citations.
How can I modify the syntax in the earlier answer to get the behavior that I want?