I am a newbie in Emacs Lisp, as you can see when looking at the AutoLangMode.
I like replace-recursive from http://www.peerfear.org/el/replace-recursive.el (see also CategorySearchAndReplace).
CategoryHomepage