From 7804ab43e41e2d628a11198753c42b561a2890c5 Mon Sep 17 00:00:00 2001 From: Vincenzo Pupillo Date: Sat, 22 Mar 2025 12:30:30 +0100 Subject: [PATCH] Fix compiler warnings in mhtml-ts-mode.el (bug#77017). * lisp/textmodes/mhtml-ts-mode.el: Added variable and function declarations to prevent compiler warnings. (mhtml-ts-mode): Require 'html-ts-mode' after checking that the html parser is available. (cherry picked from commit 7a8e2e572902094ec7f7e3839d0224a3408e196a) --- lisp/textmodes/mhtml-ts-mode.el | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/lisp/textmodes/mhtml-ts-mode.el b/lisp/textmodes/mhtml-ts-mode.el index 5c4f90cd193..22c0455a4ee 100644 --- a/lisp/textmodes/mhtml-ts-mode.el +++ b/lisp/textmodes/mhtml-ts-mode.el @@ -50,13 +50,23 @@ ;;; Code: (require 'treesit) -(require 'html-ts-mode) (require 'css-mode) ;; for embed css into html (require 'js) ;; for embed javascript into html (eval-when-compile (require 'rx)) +;; Prevent compile warnings. +(defvar html-ts-mode-indent-offset) +(defvar html-ts-mode--treesit-font-lock-feature-list) +(defvar html-ts-mode--font-lock-settings) +(defvar html-ts-mode--treesit-things-settings) +(defvar html-ts-mode--treesit-defun-type-regexp) +(defvar html-ts-mode--indent-rules) +(defvar html-ts-mode--treesit-simple-imenu-settings) +(declare-function html-ts-mode--outline-predicate "html-ts-mode.el") +(declare-function html-ts-mode--defun-name "html-ts-mode.el") + ;; This tells the byte-compiler where the functions are defined. ;; Is only needed when a file needs to be able to byte-compile ;; in a Emacs not built with tree-sitter library. @@ -447,12 +457,14 @@ Calls REPORT-FN directly. Requires tidy." "Major mode for editing HTML with embedded JavaScript and CSS. Powered by tree-sitter." (if (not (and - (treesit-ready-p 'html) - (treesit-ready-p 'javascript) - (treesit-ready-p 'css))) + (treesit-ready-p 'html t) + (treesit-ready-p 'javascript t) + (treesit-ready-p 'css t))) (error "Tree-sitter parsers for HTML isn't available. You can install the parsers with M-x `mhtml-ts-mode-install-parsers'") + (require 'html-ts-mode) + ;; When an language is embedded, you should initialize some variable ;; just like it's done in the original mode. -- 2.39.5