Support viewing help for unbound symbols #299
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
An unbound symbol can still have symbol properties. Without this, it is painful to eg. look for where a button type or a face is defined.
The way I merged the display of unbound symbols into the rest of helpful-update is... quite inelegant, but avoiding that would require rearchitecting helpful-update to delegate to different "views" instead, so I've opted to not do that for now.
helpful--kind-name
Return "unbound symbol" for symbols that are neither bound as variables or functions.
Also added this case to its unit test.
helpful--summary
Add support for unbound symbols. They are rendered like this: "epg-error is an unbound symbol."
helpful--bound-p
Return non-nil for a lambda instead of erroring out.
helpful-unbound-symbol
New command. Functionally the same as helpful-variable when called from Lisp, but offers only unbound symbols with properties for completion.
helpful-symbol
Call helpful-unbound-symbol for unbound symbols.
helpful--update
Add support for unbound symbols.
helpful--format-references-to-unbound
New function. This returns the text for the references section. Because unbound symbols do not have symbol-file, this unfortunately has to resort to searching every loaded file with elisp-refs.
CHANGELOG.md
Add entry for this change.