From 5d86e2fd74c704e25011ba48f545de765a907289 Mon Sep 17 00:00:00 2001
From: Vedang Manerikar <ved.manerikar@gmail.com>
Date: Mon, 2 Dec 2024 07:50:57 +0530
Subject: [PATCH] Improve the treesit check around expreg

Part of testing with Emacs 28
---
 .gitignore                            | 1 +
 unravel-emacs.org                     | 3 ++-
 unravel-modules/unravel-essentials.el | 3 ++-
 3 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/.gitignore b/.gitignore
index 08928b1..4a5cc84 100644
--- a/.gitignore
+++ b/.gitignore
@@ -12,3 +12,4 @@ ielm-history.eld
 multisession/
 .cask/
 org-clock-save.el
+tramp
diff --git a/unravel-emacs.org b/unravel-emacs.org
index 61b65ab..e437720 100644
--- a/unravel-emacs.org
+++ b/unravel-emacs.org
@@ -1216,7 +1216,8 @@ I expect ~expreg~ to eventually completely replace ~easy-kill~ ()
 
 #+begin_src emacs-lisp :tangle "unravel-modules/unravel-essentials.el"
   ;;; Mark syntactic constructs efficiently if tree-sitter is available (expreg)
-  (when (treesit-available-p)
+  (when (and (fboundp 'treesit-available-p)
+             (treesit-available-p))
     (use-package expreg
       :ensure t
       :functions (prot/expreg-expand prot/expreg-expand-dwim)
diff --git a/unravel-modules/unravel-essentials.el b/unravel-modules/unravel-essentials.el
index b56578e..47c641f 100644
--- a/unravel-modules/unravel-essentials.el
+++ b/unravel-modules/unravel-essentials.el
@@ -103,7 +103,8 @@
   ("M-w" . easy-kill)) ; re-map kill-ring-save
 
 ;;; Mark syntactic constructs efficiently if tree-sitter is available (expreg)
-(when (treesit-available-p)
+(when (and (fboundp 'treesit-available-p)
+           (treesit-available-p))
   (use-package expreg
     :ensure t
     :functions (prot/expreg-expand prot/expreg-expand-dwim)