Sometimes I wish AUCTeX had a function similar to `search-forward`

, but looking only at math mode and skipping everything outside it. Well, here it is. Note: this is a very simplistic implementation, since if the given string appears between the point and end of the buffer, but *only* in text mode, it will jump there anyway. I’ll probably make it behave better someday, but since it is rather a quick hack, I’ll leave it this way for now. (Also, an isearch switch to look only at math or text mode would be nice. I’ll definitely look into it, too.)

(defun TeX-search-forward-math-mode (string) "Search forward for STRING, but only in (La)TeX math mode. Crude implementation: if found in text mode, but not math mode, it will move the point there." (interactive "MSearch in math mode: ") (while (progn (search-forward string) (not (texmathp)))))

What is especially nice about this is that it took me about 5 minutes to put this together, and more than half of that time was checking the `interactive`

syntax (again…). This is what “extensibility” means: not only it is *possible* to extend Emacs’ capabilities, but it is *easy* and *fast* to do so.

A non-math version (as well as regex-searching analogues) are left as easy exercises for the reader.)