doomemacs / doomemacs/core

`define-compilation-mode` missing during `doom sync` ?

Open
#8,880 2 comments 0 reactions 0 assignees View on GitHub
re:packages
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.