Subject: bug#31699: 26.1.50; find-face-definition defaults to non-face symbol

From: "Basil L. Contovounesios" <[email-masked]>
Date: Sun, 03 Jun 2018 19:39:34 +0100

"Basil L. Contovounesios" <[email-masked]> writes:

> Patch to follow.

As promised:

>From e129903ed87acedcadef203711b597a880ac36e0 Mon Sep 17 00:00:00 2001
From: "Basil L. Contovounesios" <[email-masked]>
Date: Sun, 3 Jun 2018 19:34:37 +0100
Subject: [PATCH] Fix default candidate of find-face-definition

* lisp/emacs-lisp/find-func.el (find-function-read): Use
face-at-point instead of variable-at-point for faces. (bug#31699)
---
 lisp/emacs-lisp/find-func.el | 1 +
 1 file changed, 1 insertion(+)

diff --git a/lisp/emacs-lisp/find-func.el b/lisp/emacs-lisp/find-func.el
index ed8dc74506..13bbd9a7ec 100644
--- a/lisp/emacs-lisp/find-func.el
+++ b/lisp/emacs-lisp/find-func.el
@@ -464,6 +464,7 @@ find-function-read
 otherwise uses `variable-at-point'."
   (let* ((symb1 (cond ((null type) (function-called-at-point))
                       ((eq type 'defvar) (variable-at-point))
+                      ((eq type 'defface) (face-at-point t))
                       (t (variable-at-point t))))
          (symb  (unless (eq symb1 0) symb1))
          (predicate (cdr (assq type '((nil . fboundp)
-- 
2.17.1

Thanks,

-- 
Basil