meow-next-thing selects only the last inner sexp inside nested sexps.
my code:
(meow-thing-register 'sexp 'sexp 'sexp)
(defun meow-next-sexp (n)
(interactive "p")
(meow-next-thing 'sexp 'sexp n))
If my mark is before a (defun sexp in the code above, and I run meow-next-sexp, the point moves to the end of the sexp, but only this part is selected: (meow-next-thing 'sexp 'sexp n "w"))