Emacs has an AOP facility as well. It's called advising there. But the manual strongly recommends to only use it as a method of last resort, as performance will eventually degrade. Also, debugging in the presence of these features is not exactly fun.