Function: helpful--summary
helpful--summary is a byte-compiled function defined in helpful.el.
Signature
(helpful--summary SYM CALLABLE-P BUF POS)
Documentation
Return a one sentence summary for SYM.
Source Code
;; Defined in ~/.emacs.d/elpa/helpful-20250408.334/helpful.el
(defun helpful--summary (sym callable-p buf pos)
"Return a one sentence summary for SYM."
(-let* ((primitive-p (helpful--primitive-p sym callable-p))
(canonical-sym (helpful--canonical-symbol sym callable-p))
(alias-p (not (eq canonical-sym sym)))
(alias-button
(if callable-p
;; Show a link to 'defalias' in the manual.
(helpful--button
"function alias"
'helpful-manual-button
'symbol 'defalias)
;; Show a link to the variable aliases section in the
;; manual.
(helpful--button
"alias"
'helpful-info-button
'info-node "(elisp)Variable Aliases")))
(special-form-button
(helpful--button
"special form"
'helpful-info-button
'info-node "(elisp)Special Forms"))
(user-option-button
(helpful--button
"customizable"
'helpful-info-button
'info-node "(elisp)Variable Definitions"))
(keyboard-macro-button
(helpful--button
"keyboard macro"
'helpful-info-button
'info-node "(elisp)Keyboard Macros"))
(interactive-button
(helpful--button
"interactive"
'helpful-info-button
'info-node "(elisp)Using Interactive"))
(autoload-button
(helpful--button
"autoloaded"
'helpful-info-button
'info-node "(elisp)Autoload"))
(compiled-button
(helpful--button
"byte-compiled"
'helpful-info-button
'info-node "(elisp)Byte Compilation"))
(native-compiled-button
(helpful--button
"natively compiled"
'helpful-describe-button
'symbol 'native-compile))
(buffer-local-button
(helpful--button
"buffer-local"
'helpful-info-button
'info-node "(elisp)Buffer-Local Variables"))
(autoloaded-p
(and callable-p buf (helpful--autoloaded-p sym buf)))
(compiled-p
(and callable-p (helpful--compiled-p sym)))
(native-compiled-p
(and callable-p (helpful--native-compiled-p sym)))
(buttons
(list
(if alias-p alias-button)
(if (and callable-p autoloaded-p) autoload-button)
(if (and callable-p (commandp sym)) interactive-button)
(if compiled-p compiled-button)
(if native-compiled-p native-compiled-button)
(if (and (not callable-p) (custom-variable-p sym))
user-option-button)
(if (and (not callable-p) (local-variable-if-set-p sym))
buffer-local-button)))
(description
(helpful--join-and (-non-nil buttons)))
(kind
(cond
((special-form-p sym)
special-form-button)
(alias-p
(format "for %s,"
(helpful--button
(symbol-name canonical-sym)
'helpful-describe-exactly-button
'symbol canonical-sym
'callable-p callable-p)))
((not callable-p) "variable")
((macrop sym) "macro")
((helpful--kbd-macro-p sym) keyboard-macro-button)
(t "function")))
(defined
(cond
(buf
(let ((path (buffer-file-name buf)))
(if path
(format
"defined in %s"
(helpful--navigate-button
(file-name-nondirectory path) path pos))
(format "defined in buffer %s"
(helpful--buffer-button buf pos)))))
(primitive-p
"defined in C source code")
((helpful--kbd-macro-p sym) nil)
(t
"without a source file"))))
(s-word-wrap
70
(format "%s is %s %s %s%s."
(if (symbolp sym)
(helpful--format-symbol sym)
"This lambda")
(if (string-match-p
(rx bos (or "a" "e" "i" "o" "u"))
description)
"an"
"a")
description
kind
(if defined (concat " " defined) "")))))