]> git.eshelyaron.com Git - emacs.git/commitdiff
(find-function-search-for-symbol): Find funs defined with defun-cvs-mode.
authorStefan Monnier <monnier@iro.umontreal.ca>
Thu, 16 May 2002 20:11:23 +0000 (20:11 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Thu, 16 May 2002 20:11:23 +0000 (20:11 +0000)
(find-function-space-re): New const.  Skips comments as well.
(find-function-regexp, find-variable-regexp): Use it.

lisp/emacs-lisp/find-func.el

index 82f3ee2116dcf03ce45617f5c0f732f0d9fe5f39..93c1f279e10723affa3c5822df790d083522f184 100644 (file)
 ;;   :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 @@ Please send improvements and fixes to the maintainer."
   :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 @@ If VARIABLE-P is nil, `find-function-regexp' is used, otherwise
            (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))