Juri Linkov <[EMAIL PROTECTED]> writes: > (set (make-local-variable 'isearch-success-function) > ;; isearch only in function names > (lambda () > (save-match-data > (let* ((re (cdr (assoc nil imenu-generic-expression)))) > (and (save-excursion (beginning-of-line) (looking-at (car re))) > (>= (point) (match-beginning (cadr re))) > (<= (point) (match-end (cadr re))))))))
I noticed that `(point)' is not a reliable indicator to find a matching point. It seems better to give two arguments (match-beginning 0) and (match-end 0) to `isearch-success-function'. So a correct example would be: (set (make-local-variable 'isearch-success-function) ;; isearch only in function names (lambda (mb me) (save-match-data (let ((re (cdr (assoc nil imenu-generic-expression)))) (and (save-excursion (beginning-of-line) (looking-at (car re))) (>= mb (match-beginning (cadr re))) (<= me (match-end (cadr re)))))))) -- Juri Linkov http://www.jurta.org/emacs/ _______________________________________________ Emacs-devel mailing list Emacs-devel@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-devel