Make (find-face-definition 'default) work more reliably
* lisp/emacs-lisp/find-func.el (find-function--defface): New function (bug#30230). (find-function-regexp-alist): Use it to skip past definitions inside comments and strings.
This commit is contained in:
@@ -123,10 +123,18 @@ should insert the feature name."
|
||||
:group 'xref
|
||||
:version "25.1")
|
||||
|
||||
(defun find-function--defface (symbol)
|
||||
(catch 'found
|
||||
(while (re-search-forward (format find-face-regexp symbol) nil t)
|
||||
(unless (ppss-comment-or-string-start
|
||||
(save-excursion (syntax-ppss (match-beginning 0))))
|
||||
;; We're not in a comment or a string.
|
||||
(throw 'found t)))))
|
||||
|
||||
(defvar find-function-regexp-alist
|
||||
'((nil . find-function-regexp)
|
||||
(defvar . find-variable-regexp)
|
||||
(defface . find-face-regexp)
|
||||
(defface . find-function--defface)
|
||||
(feature . find-feature-regexp)
|
||||
(defalias . find-alias-regexp))
|
||||
"Alist mapping definition types into regexp variables.
|
||||
|
||||
Reference in New Issue
Block a user