Function: helpful--buffer
helpful--buffer is a byte-compiled function defined in helpful.el.
Signature
(helpful--buffer SYMBOL CALLABLE-P)
Documentation
Return a buffer to show help for SYMBOL in.
Source Code
;; Defined in ~/.emacs.d/elpa/helpful-20250408.334/helpful.el
(defun helpful--buffer (symbol callable-p)
"Return a buffer to show help for SYMBOL in."
(let* ((current-buffer (current-buffer))
(buf-name
(format "*helpful %s*"
(if (symbolp symbol)
(format "%s: %s"
(helpful--kind-name symbol callable-p)
symbol)
"lambda")))
(buf (get-buffer buf-name)))
(unless buf
;; If we need to create the buffer, ensure we don't exceed
;; `helpful-max-buffers' by killing the least recently used.
(when (numberp helpful-max-buffers)
(let* ((buffers (buffer-list))
(helpful-bufs (--filter (with-current-buffer it
(eq major-mode 'helpful-mode))
buffers))
;; `buffer-list' seems to be ordered by most recently
;; visited first, so keep those.
(excess-buffers (-drop (1- helpful-max-buffers) helpful-bufs)))
;; Kill buffers so we have one buffer less than the maximum
;; before we create a new one.
(-each excess-buffers #'kill-buffer)))
(setq buf (get-buffer-create buf-name)))
;; Initialise the buffer with the symbol and associated data.
(with-current-buffer buf
(helpful-mode)
(setq helpful--sym symbol)
(setq helpful--callable-p callable-p)
(setq helpful--start-buffer current-buffer)
(setq helpful--associated-buffer current-buffer)
(setq list-buffers-directory
(if (symbolp symbol) (format "%s: %s" (helpful--kind-name symbol callable-p) symbol) "lambda"))
(if (helpful--primitive-p symbol callable-p)
(setq-local comment-start "//")
(setq-local comment-start ";")))
buf))