]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix compiler warnings in mhtml-ts-mode.el (bug#77017).
authorVincenzo Pupillo <v.pupillo@gmail.com>
Sat, 22 Mar 2025 11:30:30 +0000 (12:30 +0100)
committerEshel Yaron <me@eshelyaron.com>
Mon, 31 Mar 2025 08:33:57 +0000 (10:33 +0200)
* 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

index 5c4f90cd19361ce1ad8de17303512f293c5a9a16..22c0455a4ee82d449f7c42179c56bbbcb76bb901 100644 (file)
 ;;; 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.