`define-compilation-mode` missing during `doom sync` ?
- Dominant language
- Emacs Lisp
- Stars
- 22.7k
- Forks
- 3.1k
- Avg merge
- 10h 46m
- Merged PRs (30d)
- 4
Description
### Describe your issue
After upgrading to Emacs 31.1, `typst-ts-mode` seems to no longer be `sync`-able, due to a missing symbol which by all means should be present.
If it is installed (or requested to be installed), `doom sync` complains with:
```
> Synchronizing "_default" profile...
x There was an unexpected runtime error
Message: Symbol's function definition is void
Details: (define-compilation-mode)
Backtrace:
(define-compilation-mode typst-ts-compilation-mode "Typst Compilation" "Customized major mode for typst watc...
```
The relevant line of the library being this one: https://codeberg.org/meow_king/typst-ts-mode/src/commit/155bb36cff3afe701a0f6b57bd3fe5c9effaa314/typst-ts-compile.el#L200
`define-compilation-mode` is present in Emacs' own `progmodes/compile.el`, so it's not clear to me why this function wouldn't be visible at `doom sync`-time.
Thanks as always!
### Steps to reproduce
1. Set `(package! typst-ts-mode :recipe (:host codeberg :repo "meow_king/typst-ts-mode"))` in one's own `packages.el`.
2. `doom sync`
3. See the error.
### System information
[doom.txt](https://github.com/user-attachments/files/31605625/doom.txt)
### Disclosures
- [ ] This issue was written with/by AI.
Contributor guide
Research direction
Reproduce the failure with the packages.el recipe and doom sync, then inspect typst-ts-compile.el around the define-compilation-mode call and Emacs' progmodes/compile.el. Trace how Doom loads the package during synchronization. Done means typst-ts-mode can be installed or requested without the missing-symbol error during doom sync.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- emacs-lisp
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 58/100