[
    {
        "role": "user",
        "content": "in%20emacs%2028%2C%20(setopt%20use-short-answers%20t)%20is%20giving%20symbol%20definition%20is%20void"
    },
    {
        "role": "assistant",
        "content": "In Emacs 28, `use-short-answers` is *not* a built-in variable. It was introduced in **Emacs 29.1**. That\u2019s why doing `(setopt use-short-answers t)` (or `(setq use-short-answers t)`) in Emacs 28 gives you the error:\n\n```\nSymbol\u2019s definition is void: use-short-answers\n```\n\n\u2014since Emacs 28 has no such symbol defined, so it treats it as \u201cvoid.\u201d These are the relevant details:\n\n---\n\n## What is `use-short-answers`\n\n- `use-short-answers` is a customizable user option that, when non-`nil`, makes certain yes-or-no prompts accept `\"y\"`/`\"n\"` instead of `\"yes\"`/`\"no\"`. ([masteringemacs.org](https://www.masteringemacs.org/article/disabling-prompts-emacs?utm_source=openai))\n- Before Emacs 29.1, if you wanted shorter yes-or-no answers, you\u2019d commonly do something like:\n\n  ```elisp\n  (defalias 'yes-or-no-p 'y-or-n-p)\n  ```\n\n  to force all such prompts to use `y`/`n`. ([masteringemacs.org](https://www.masteringemacs.org/article/disabling-prompts-emacs?utm_source=openai))\n\n---\n\n## Emacs version history\n\n- Emacs **29.1** explicitly added `use-short-answers` as an option. ([emacsredux.com](https://emacsredux.com/blog/2025/04/06/goodbye-setq-hello-setopt/?utm_source=openai))\n- Emacs **28.x** does *not* have this variable. Attempts to use it will fail with \u201csymbol definition is void\u201d unless a package someone wrote introduces it (but by default, it's not present). ([reddit.com](https://www.reddit.com/r/emacs/comments/ooztpn?utm_source=openai))\n\n---\n\n## What you can do in Emacs 28\n\nHere are workarounds to get similar behavior if you\u2019re on Emacs 28:\n\n1. **Use the `defalias` method**:\n\n   ```elisp\n   (defalias 'yes-or-no-p 'y-or-n-p)\n   ```\n\n   This causes all calls to `yes-or-no-p` to behave like `y-or-n-p`. It's the classic hack. ([masteringemacs.org](https://www.masteringemacs.org/article/disabling-prompts-emacs?utm_source=openai))\n\n2. **Upgrade to Emacs 29.1 or newer**, so that `use-short-answers` exists, and you can do:\n\n   ```elisp\n   (setopt use-short-answers t)\n   ```\n\n   which is the preferred way (it respects any associated custom setter functions etc.). ([emacsredux.com](https://emacsredux.com/blog/2025/04/06/goodbye-setq-hello-setopt/?utm_source=openai))\n\n3. If someone has defined `use-short-answers` in *your config or via a package*, make sure it\u2019s being loaded early enough before you try to set it.\n\n---\n\nIf you like, I can help you adjust your Emacs 28 configuration so you get the same behavior as `use-short-answers` provides, without needing to upgrade right away. Would you prefer that?"
    }
]