diff options
| author | Jonas Bernoulli <jonas@bernoul.li> | 2024-03-27 16:53:42 +0100 |
|---|---|---|
| committer | Jonas Bernoulli <jonas@bernoul.li> | 2024-03-27 16:59:55 +0100 |
| commit | 7c5de035fab1b46926964b0defebef26357a5209 (patch) | |
| tree | 2698c3e0e14e3b97a582617692a3d0fd1dbcc0ca /rust-mode.el | |
| parent | 1ce4f8e26606462d73dc0895983d733580469124 (diff) | |
| download | rust-mode-7c5de035fab1b46926964b0defebef26357a5209.tar.gz | |
Fix dependencies between rust-mode implementations
"rust-prog-mode.el" and "rust-mode-treesitter.el" provide competing
implementations of `rust-mode'. Both implementations depend on code
in "rust-mode.el", and thus must require that.
Doing that is complicated by the fact that "rust-mode.el" loads one
of these libraries, depending on `rust-mode-treesitter-derive's value.
Address this conflict by:
1. Requiring feature `rust-mode' in the two libraries that implement the
`rust-mode' major-mode and that use things defined in "rust-mode.el".
2. Moving the require forms for these two libraries in "rust-mode.el",
below the `provide' form for `rust-mode'.
Diffstat (limited to 'rust-mode.el')
| -rw-r--r-- | rust-mode.el | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/rust-mode.el b/rust-mode.el index a0f6542..8d38295 100644 --- a/rust-mode.el +++ b/rust-mode.el @@ -71,10 +71,6 @@ instead of `prog-mode'. This option requires emacs29+." map) "Keymap for Rust major mode.") -(if (and (version<= "29.1" emacs-version) rust-mode-treesitter-derive) - (require 'rust-mode-treesitter) - (require 'rust-prog-mode)) - ;;;###autoload (autoload 'rust-mode "rust-mode" "Major mode for Rust code." t) @@ -82,6 +78,12 @@ instead of `prog-mode'. This option requires emacs29+." (add-to-list 'auto-mode-alist '("\\.rs\\'" . rust-mode)) (provide 'rust-mode) + +(if (and rust-mode-treesitter-derive + (version<= "29.1" emacs-version)) + (require 'rust-mode-treesitter) + (require 'rust-prog-mode)) + (require 'rust-utils) ;;; rust-mode.el ends here |
