branch: externals/embark
commit 857c8403529f54bfeecf460fe98b1a0b8e206802
Author: Omar Antolín <omar.anto...@gmail.com>
Commit: Omar Antolín <omar.anto...@gmail.com>

    Stricter test for an identifier to be an elisp symbol
    
    Some people apparently have large numbers of interned symbols that are
    not variables, functions, faces, etc. (See
    https://github.com/oantolin/embark/issues/504#issuecomment-1120239215,
    for example).
---
 embark.el | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/embark.el b/embark.el
index c588b37041..584b6d3e5f 100644
--- a/embark.el
+++ b/embark.el
@@ -880,7 +880,10 @@ As a convenience, in Org Mode an initial ' or surrounding 
== or
                (cl-incf (car bounds))
                (cl-decf (cdr bounds)))))
       `(,(if (or (derived-mode-p 'emacs-lisp-mode 'inferior-emacs-lisp-mode)
-                 (and (intern-soft name) (not (derived-mode-p 'prog-mode))))
+                 (and
+                  (not (derived-mode-p 'prog-mode))
+                  (when-let ((sym (intern-soft name)))
+                    (or (boundp sym) (fboundp sym) (symbol-plist sym)))))
              'symbol
            'identifier)
         ,name

Reply via email to