Skip to content

Conversation

@wyuenho
Copy link
Contributor

@wyuenho wyuenho commented Nov 2, 2025

This PR came as a result of a package called llama that introduced a hacky macro that unfortunately results in an empty string function name that always appear at the top of the completion table.

The details of the problem is described here. Essentially, this macro abuses the fact that the empty string can be used as a symbol, which defeats every intuitive string matching and sorting algorithms, and results in an empty string function at the top of the completion table whenever helpful-callable or helpful-macro is invoked.

Recent attempts to fix this problem relied on the fact that describe-function calls all-completions down the call stack to filter this annoyance out, but helpful's helpful--read-symbol symbol uses the obarray directly without filtering. This PR addresses this issue by delegating to help--symbol-completion-table when it's available (Emacs >= 26.1).

@wyuenho wyuenho force-pushed the use-help--symbol-completion-table branch from 8032636 to b298893 Compare November 2, 2025 11:59
@meedstrom
Copy link

meedstrom commented Nov 2, 2025

Updating llama did not fix the issue?

EDIT: Ah, nevermind, I see you said it uses obarray directly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants