Commit 54cabb1b authored by Stefan Monnier's avatar Stefan Monnier
Browse files

(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.
parent 883e7198
......@@ -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 @@ 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))
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment