diff options
-rw-r--r-- | lisp/help-fns.el | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/lisp/help-fns.el b/lisp/help-fns.el index c06a7b1ee73..125b18614a2 100644 --- a/lisp/help-fns.el +++ b/lisp/help-fns.el @@ -478,8 +478,13 @@ Return 0 if there is no such symbol." (and (symbolp obj) (boundp obj) obj)))) (error nil)) (let* ((str (find-tag-default)) - (obj (if str (intern str)))) - (and (symbolp obj) (boundp obj) obj)) + (sym (if str (intern-soft str)))) + (if (and sym (boundp sym)) + sym + (save-match-data + (when (and str (string-match "\\`\\W*\\(.*?\\)\\W*\\'" str)) + (setq sym (intern-soft (match-string 1 str))) + (and (boundp sym) sym))))) 0)) ;;;###autoload |