Skip to content

How to change default completion for @ and / #537

@jcubic

Description

@jcubic

When you type @ or / a new completion buffer appears. Is there a way to make it work the same as the rest of Emacs? I would like it to work the same as C-x b or any other place when Emacs asks for input. I can press TAB to get into the completion buffer or use C-s to search inside the list.

Opening a completion buffer is not default behavior. It looks like you can only disable it completely and need to type everything by hand without any hints.

The problem is that every completion library works globally, and it breaks the default behavior that I'm used to.

I was asking the agent (Opus 4.6), and he wrote code like this:

(setq-local completion-in-region-function
            (lambda (start end collection &optional predicate)
              (if (minibufferp)
                  (completion--in-region start end collection predicate)
                (let* ((initial (buffer-substring-no-properties start end))
                       (all (all-completions initial collection predicate))
                       (choice (ido-completing-read "Complete: " all nil nil initial)))
                  (when choice
                    (delete-region start end)
                    (insert choice " "))))))

But it doesn't work the same as C-x b. The completion list is empty, so I can't search (C-s) and press TAB to see the full list.

Checklist

  • I agree to communicate with the author myself (not AI-generated).
  • I've read the README's Filing issues section.
  • I'm running the latest versions (fill in below).
    • agent-shell version: 20260408.1635
    • acp.el version: 20260325.1158
    • ACP package (e.g. claude-agent-acp) version: 0.30.0
    • Agent CLI (e.g. claude, gemini) version: Claude Code
    • LLM: Opus 4.6
  • For requesting new agent support, I'm including a link to the ACP-capable agent or related ACP package.
  • For issues, I'm including ACP traffic (as per README).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions