From bf652e6844601bb42daaac2ed867e047f2eb615f Mon Sep 17 00:00:00 2001 From: Juri Linkov Date: Mon, 18 Aug 2025 09:49:36 +0300 Subject: [PATCH] Silence byte-compile warnings when treesit is not available * lisp/progmodes/c-ts-mode.el: * lisp/progmodes/cmake-ts-mode.el: * lisp/progmodes/csharp-mode.el: * lisp/progmodes/dockerfile-ts-mode.el: * lisp/progmodes/elixir-ts-mode.el: * lisp/progmodes/go-ts-mode.el: * lisp/progmodes/heex-ts-mode.el: * lisp/progmodes/java-ts-mode.el: * lisp/progmodes/js.el: * lisp/progmodes/json-ts-mode.el: * lisp/progmodes/lua-ts-mode.el: * lisp/progmodes/php-ts-mode.el: * lisp/progmodes/ruby-ts-mode.el: * lisp/progmodes/rust-ts-mode.el: * lisp/progmodes/sh-script.el: * lisp/progmodes/typescript-ts-mode.el: * lisp/textmodes/css-mode.el: * lisp/textmodes/markdown-ts-mode.el: * lisp/textmodes/mhtml-ts-mode.el: * lisp/textmodes/toml-ts-mode.el: * lisp/textmodes/yaml-ts-mode.el: Declare 'treesit-major-mode-remap-alist' and 'treesit-language-available-p' to silence warnings that are false alarms. Also improve docstrings. --- lisp/progmodes/c-ts-mode.el | 1 + lisp/progmodes/cmake-ts-mode.el | 6 +++++- lisp/progmodes/csharp-mode.el | 1 + lisp/progmodes/dockerfile-ts-mode.el | 6 +++++- lisp/progmodes/elixir-ts-mode.el | 6 +++++- lisp/progmodes/go-ts-mode.el | 18 +++++++++++++++--- lisp/progmodes/heex-ts-mode.el | 6 +++++- lisp/progmodes/java-ts-mode.el | 1 + lisp/progmodes/js.el | 1 + lisp/progmodes/json-ts-mode.el | 1 + lisp/progmodes/lua-ts-mode.el | 6 +++++- lisp/progmodes/php-ts-mode.el | 6 +++++- lisp/progmodes/ruby-ts-mode.el | 1 + lisp/progmodes/rust-ts-mode.el | 6 +++++- lisp/progmodes/sh-script.el | 1 + lisp/progmodes/typescript-ts-mode.el | 12 ++++++++++-- lisp/textmodes/css-mode.el | 1 + lisp/textmodes/markdown-ts-mode.el | 6 +++++- lisp/textmodes/mhtml-ts-mode.el | 1 + lisp/textmodes/toml-ts-mode.el | 1 + lisp/textmodes/yaml-ts-mode.el | 6 +++++- 21 files changed, 80 insertions(+), 14 deletions(-) diff --git a/lisp/progmodes/c-ts-mode.el b/lisp/progmodes/c-ts-mode.el index 55240c3869a..174eb47cb3a 100644 --- a/lisp/progmodes/c-ts-mode.el +++ b/lisp/progmodes/c-ts-mode.el @@ -1675,6 +1675,7 @@ the code is C or C++, and based on that chooses whether to enable ;;;###autoload (when (treesit-available-p) + (defvar treesit-major-mode-remap-alist) (add-to-list 'treesit-major-mode-remap-alist '(c-mode . c-ts-mode)) (add-to-list 'treesit-major-mode-remap-alist diff --git a/lisp/progmodes/cmake-ts-mode.el b/lisp/progmodes/cmake-ts-mode.el index 3f879e37ba2..84589b1eb73 100644 --- a/lisp/progmodes/cmake-ts-mode.el +++ b/lisp/progmodes/cmake-ts-mode.el @@ -257,7 +257,10 @@ Return nil if there is no name or if NODE is not a defun node." ;;;###autoload (defun cmake-ts-mode-maybe () - "Enable `cmake-ts-mode' when its grammar is available." + "Enable `cmake-ts-mode' when its grammar is available. +Also propose to install the grammar when `treesit-enabled-modes' +is t or contains the mode name." + (declare-function treesit-language-available-p "treesit.c") (if (or (treesit-language-available-p 'cmake) (eq treesit-enabled-modes t) (memq 'cmake-ts-mode treesit-enabled-modes)) @@ -269,6 +272,7 @@ Return nil if there is no name or if NODE is not a defun node." (add-to-list 'auto-mode-alist '("\\(?:CMakeLists\\.txt\\|\\.cmake\\)\\'" . cmake-ts-mode-maybe)) ;; To be able to toggle between an external package and core ts-mode: + (defvar treesit-major-mode-remap-alist) (add-to-list 'treesit-major-mode-remap-alist '(cmake-mode . cmake-ts-mode))) diff --git a/lisp/progmodes/csharp-mode.el b/lisp/progmodes/csharp-mode.el index fb05389ba91..2ef97ccc687 100644 --- a/lisp/progmodes/csharp-mode.el +++ b/lisp/progmodes/csharp-mode.el @@ -1225,6 +1225,7 @@ Key bindings: ;;;###autoload (when (treesit-available-p) + (defvar treesit-major-mode-remap-alist) (add-to-list 'treesit-major-mode-remap-alist '(csharp-mode . csharp-ts-mode))) diff --git a/lisp/progmodes/dockerfile-ts-mode.el b/lisp/progmodes/dockerfile-ts-mode.el index 79a2197c078..40259792b52 100644 --- a/lisp/progmodes/dockerfile-ts-mode.el +++ b/lisp/progmodes/dockerfile-ts-mode.el @@ -204,7 +204,10 @@ Return nil if there is no name or if NODE is not a stage node." ;;;###autoload (defun dockerfile-ts-mode-maybe () - "Enable `dockerfile-ts-mode' when its grammar is available." + "Enable `dockerfile-ts-mode' when its grammar is available. +Also propose to install the grammar when `treesit-enabled-modes' +is t or contains the mode name." + (declare-function treesit-language-available-p "treesit.c") (if (or (treesit-language-available-p 'dockerfile) (eq treesit-enabled-modes t) (memq 'dockerfile-ts-mode treesit-enabled-modes)) @@ -218,6 +221,7 @@ Return nil if there is no name or if NODE is not a stage node." '("\\(?:Dockerfile\\(?:\\..*\\)?\\|\\.[Dd]ockerfile\\)\\'" . dockerfile-ts-mode-maybe)) ;; To be able to toggle between an external package and core ts-mode: + (defvar treesit-major-mode-remap-alist) (add-to-list 'treesit-major-mode-remap-alist '(dockerfile-mode . dockerfile-ts-mode))) diff --git a/lisp/progmodes/elixir-ts-mode.el b/lisp/progmodes/elixir-ts-mode.el index 05ad76d100f..04227599630 100644 --- a/lisp/progmodes/elixir-ts-mode.el +++ b/lisp/progmodes/elixir-ts-mode.el @@ -808,7 +808,10 @@ Return nil if NODE is not a defun node or doesn't have a name." ;;;###autoload (defun elixir-ts-mode-maybe () - "Enable `elixir-ts-mode' when its grammar is available." + "Enable `elixir-ts-mode' when its grammar is available. +Also propose to install the grammar when `treesit-enabled-modes' +is t or contains the mode name." + (declare-function treesit-language-available-p "treesit.c") (if (or (treesit-language-available-p 'elixir) (eq treesit-enabled-modes t) (memq 'elixir-ts-mode treesit-enabled-modes)) @@ -822,6 +825,7 @@ Return nil if NODE is not a defun node or doesn't have a name." (add-to-list 'auto-mode-alist '("\\.exs\\'" . elixir-ts-mode-maybe)) (add-to-list 'auto-mode-alist '("mix\\.lock" . elixir-ts-mode-maybe)) ;; To be able to toggle between an external package and core ts-mode: + (defvar treesit-major-mode-remap-alist) (add-to-list 'treesit-major-mode-remap-alist '(elixir-mode . elixir-ts-mode))) diff --git a/lisp/progmodes/go-ts-mode.el b/lisp/progmodes/go-ts-mode.el index 40f3de0bc15..e149e9230ec 100644 --- a/lisp/progmodes/go-ts-mode.el +++ b/lisp/progmodes/go-ts-mode.el @@ -361,7 +361,10 @@ ;;;###autoload (defun go-ts-mode-maybe () - "Enable `go-ts-mode' when its grammar is available." + "Enable `go-ts-mode' when its grammar is available. +Also propose to install the grammar when `treesit-enabled-modes' +is t or contains the mode name." + (declare-function treesit-language-available-p "treesit.c") (if (or (treesit-language-available-p 'go) (eq treesit-enabled-modes t) (memq 'go-ts-mode treesit-enabled-modes)) @@ -372,6 +375,7 @@ (when (treesit-available-p) (add-to-list 'auto-mode-alist '("\\.go\\'" . go-ts-mode-maybe)) ;; To be able to toggle between an external package and core ts-mode: + (defvar treesit-major-mode-remap-alist) (add-to-list 'treesit-major-mode-remap-alist '(go-mode . go-ts-mode))) @@ -635,7 +639,10 @@ what the parent of the node would be if it were a node." ;;;###autoload (defun go-mod-ts-mode-maybe () - "Enable `go-mod-ts-mode' when its grammar is available." + "Enable `go-mod-ts-mode' when its grammar is available. +Also propose to install the grammar when `treesit-enabled-modes' +is t or contains the mode name." + (declare-function treesit-language-available-p "treesit.c") (if (or (treesit-language-available-p 'gomod) (eq treesit-enabled-modes t) (memq 'go-mod-ts-mode treesit-enabled-modes)) @@ -646,6 +653,7 @@ what the parent of the node would be if it were a node." (when (treesit-available-p) (add-to-list 'auto-mode-alist '("/go\\.mod\\'" . go-mod-ts-mode-maybe)) ;; To be able to toggle between an external package and core ts-mode: + (defvar treesit-major-mode-remap-alist) (add-to-list 'treesit-major-mode-remap-alist '(go-mod-mode . go-mod-ts-mode))) @@ -736,7 +744,10 @@ what the parent of the node would be if it were a node." ;;;###autoload (defun go-work-ts-mode-maybe () - "Enable `go-work-ts-mode' when its grammar is available." + "Enable `go-work-ts-mode' when its grammar is available. +Also propose to install the grammar when `treesit-enabled-modes' +is t or contains the mode name." + (declare-function treesit-language-available-p "treesit.c") (if (or (treesit-language-available-p 'gowork) (eq treesit-enabled-modes t) (memq 'go-work-ts-mode treesit-enabled-modes)) @@ -747,6 +758,7 @@ what the parent of the node would be if it were a node." (when (treesit-available-p) (add-to-list 'auto-mode-alist '("/go\\.work\\'" . go-work-ts-mode-maybe)) ;; To be able to toggle between an external package and core ts-mode: + (defvar treesit-major-mode-remap-alist) (add-to-list 'treesit-major-mode-remap-alist '(go-work-mode . go-work-ts-mode))) diff --git a/lisp/progmodes/heex-ts-mode.el b/lisp/progmodes/heex-ts-mode.el index 41634d0e6a4..2b8b75c444e 100644 --- a/lisp/progmodes/heex-ts-mode.el +++ b/lisp/progmodes/heex-ts-mode.el @@ -267,7 +267,10 @@ Return nil if NODE is not a defun node or doesn't have a name." ;;;###autoload (defun heex-ts-mode-maybe () - "Enable `heex-ts-mode' when its grammar is available." + "Enable `heex-ts-mode' when its grammar is available. +Also propose to install the grammar when `treesit-enabled-modes' +is t or contains the mode name." + (declare-function treesit-language-available-p "treesit.c") (if (or (treesit-language-available-p 'heex) (eq treesit-enabled-modes t) (memq 'heex-ts-mode treesit-enabled-modes)) @@ -280,6 +283,7 @@ Return nil if NODE is not a defun node or doesn't have a name." ;; with the tree-sitter-heex grammar. (add-to-list 'auto-mode-alist '("\\.[hl]?eex\\'" . heex-ts-mode-maybe)) ;; To be able to toggle between an external package and core ts-mode: + (defvar treesit-major-mode-remap-alist) (add-to-list 'treesit-major-mode-remap-alist '(heex-mode . heex-ts-mode))) diff --git a/lisp/progmodes/java-ts-mode.el b/lisp/progmodes/java-ts-mode.el index e989d1b3f5d..979f5456c6d 100644 --- a/lisp/progmodes/java-ts-mode.el +++ b/lisp/progmodes/java-ts-mode.el @@ -526,6 +526,7 @@ Return nil if there is no name or if NODE is not a defun node." ;;;###autoload (when (treesit-available-p) + (defvar treesit-major-mode-remap-alist) (add-to-list 'treesit-major-mode-remap-alist '(java-mode . java-ts-mode))) diff --git a/lisp/progmodes/js.el b/lisp/progmodes/js.el index c44b2adf146..1e4c832254c 100644 --- a/lisp/progmodes/js.el +++ b/lisp/progmodes/js.el @@ -4111,6 +4111,7 @@ See `treesit-thing-settings' for more information.") ;;;###autoload (when (treesit-available-p) + (defvar treesit-major-mode-remap-alist) (add-to-list 'treesit-major-mode-remap-alist '(javascript-mode . js-ts-mode))) diff --git a/lisp/progmodes/json-ts-mode.el b/lisp/progmodes/json-ts-mode.el index b0db0a12210..a08e9a29fe8 100644 --- a/lisp/progmodes/json-ts-mode.el +++ b/lisp/progmodes/json-ts-mode.el @@ -183,6 +183,7 @@ Return nil if there is no name or if NODE is not a defun node." ;;;###autoload (when (treesit-available-p) + (defvar treesit-major-mode-remap-alist) (add-to-list 'treesit-major-mode-remap-alist '(js-json-mode . json-ts-mode))) diff --git a/lisp/progmodes/lua-ts-mode.el b/lisp/progmodes/lua-ts-mode.el index 07a8f0aef55..5089e17c287 100644 --- a/lisp/progmodes/lua-ts-mode.el +++ b/lisp/progmodes/lua-ts-mode.el @@ -771,7 +771,10 @@ Calls REPORT-FN directly." ;;;###autoload (defun lua-ts-mode-maybe () - "Enable `lua-ts-mode' when its grammar is available." + "Enable `lua-ts-mode' when its grammar is available. +Also propose to install the grammar when `treesit-enabled-modes' +is t or contains the mode name." + (declare-function treesit-language-available-p "treesit.c") (if (or (treesit-language-available-p 'lua) (eq treesit-enabled-modes t) (memq 'lua-ts-mode treesit-enabled-modes)) @@ -783,6 +786,7 @@ Calls REPORT-FN directly." (add-to-list 'auto-mode-alist '("\\.lua\\'" . lua-ts-mode-maybe)) (add-to-list 'interpreter-mode-alist '("\\