(fn &aux (STRING isearch-string) (MESSAGE isearch-message) (POINT (point)) (SUCCESS isearch-success) (FORWARD isearch-forward) (OTHER-END isearch-other-end) (WORD isearch-word) (ERROR isearch-error) (WRAPPED isearch-wrapped) (BARRIER isearch-barrier) (CASE-FOLD-SEARCH isearch-case-fold-search) (POP-FUN (if isearch-push-state-function (funcall isearch-push-state-function))))