All printing functions (prin1, princ and so on) run before-change-functions but not after-change-functions. I believe the attached patch fixes the bug. Objections?