changeset 45326:892ea515fb3a

(find-function-search-for-symbol): Find funs defined with defun-cvs-mode. (find-function-space-re): New const. Skips comments as well. (find-function-regexp, find-variable-regexp): Use it.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Thu, 16 May 2002 20:11:23 +0000
parents 8b7e7b9551fe
children a26906178331
files lisp/emacs-lisp/find-func.el
diffstat 1 files changed, 8 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/emacs-lisp/find-func.el	Thu May 16 20:03:52 2002 +0000
+++ b/lisp/emacs-lisp/find-func.el	Thu May 16 20:11:23 2002 +0000
@@ -54,14 +54,17 @@
 ;;   :prefix "find-function"
   :group 'lisp)
 
+(defconst find-function-space-re "\\(?:\\s-\\|\n\\|;.*\n\\)+")
+
 (defcustom find-function-regexp
   ;; Match things like (defun foo ...), (defmacro foo ...),
   ;; (define-skeleton foo ...), (define-generic-mode 'foo ...),
   ;;  (define-derived-mode foo ...), (define-minor-mode foo)
-  "^\\s-*(\\(def\\(ine-skeleton\\|ine-generic-mode\\|ine-derived-mode\\|\
+  (concat
+   "^\\s-*(\\(def\\(ine-skeleton\\|ine-generic-mode\\|ine-derived-mode\\|\
 \[^cgv\W]\\w+\\*?\\)\\|define-minor-mode\
-\\|easy-mmode-define-global-mode\\)\\(\\s-\\|\n\\)+\\('\\|\(quote \\)?\
-%s\\(\\s-\\|$\\|\(\\|\)\\)"
+\\|easy-mmode-define-global-mode\\)" find-function-space-re
+   "\\('\\|\(quote \\)?%s\\(\\s-\\|$\\|\(\\|\)\\)")
   "The regexp used by `find-function' to search for a function definition.
 Note it must contain a `%s' at the place where `format'
 should insert the function name.  The default value avoids `defconst',
@@ -73,7 +76,7 @@
   :version "21.1")
 
 (defcustom find-variable-regexp
-  "^\\s-*(def[^umag]\\(\\w\\|\\s_\\)+\\*?\\s-+%s\\(\\s-\\|$\\)"
+  (concat"^\\s-*(def[^umag]\\(\\w\\|\\s_\\)+\\*?" find-function-space-re "%s\\(\\s-\\|$\\)")
   "The regexp used by `find-variable' to search for a variable definition.
 It should match right up to the variable name.  The default value
 avoids `defun', `defmacro', `defalias', `defadvice', `defgroup'.
@@ -145,7 +148,7 @@
 	    (goto-char (point-min))
 	    (if (or (re-search-forward regexp nil t)
 		    (re-search-forward
-		     (concat "^([^ ]+\\(\\s-\\|\n\\)+"
+		     (concat "^([^ ]+" find-function-space-re "['(]"
 			     (regexp-quote (symbol-name symbol))
 			     "\\>")
 		     nil t))