50a2ps.el contains
".*\\.a2ps$"
Usually auto-mode-alist regexps should be \\' rather than $ so for
instance
"\\.a2ps\\'"
This matches only end-of-string, not a newline. Of course filenames
shouldn't normally contain newlines, but end-of-string is what's wanted.
I believe there's no need to match the initial part of the name with
".*".