emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master c493f28cc94: Fix which-function error in 'lua-ts-mode' (bug#70515


From: Eli Zaretskii
Subject: master c493f28cc94: Fix which-function error in 'lua-ts-mode' (bug#70515)
Date: Thu, 25 Apr 2024 11:40:42 -0400 (EDT)

branch: master
commit c493f28cc948ac4aef9c262345a608b3c7d413a4
Author: john muhl <jm@pub.pink>
Commit: Eli Zaretskii <eliz@gnu.org>

    Fix which-function error in 'lua-ts-mode' (bug#70515)
    
    * lisp/progmodes/lua-ts-mode.el (lua-ts-mode): Remove incorrect
    usage of 'which-func-functions'.
    * test/lisp/progmodes/lua-ts-mode-tests.el
    (lua-ts-test-which-function): Add test.
    * test/lisp/progmodes/lua-ts-mode-resources/which-function.lua:
    New file.
---
 lisp/progmodes/lua-ts-mode.el                                |  5 +----
 test/lisp/progmodes/lua-ts-mode-resources/which-function.lua |  3 +++
 test/lisp/progmodes/lua-ts-mode-tests.el                     | 11 +++++++++++
 3 files changed, 15 insertions(+), 4 deletions(-)

diff --git a/lisp/progmodes/lua-ts-mode.el b/lisp/progmodes/lua-ts-mode.el
index 45ea8ec9a81..06663e5bd0e 100644
--- a/lisp/progmodes/lua-ts-mode.el
+++ b/lisp/progmodes/lua-ts-mode.el
@@ -764,7 +764,7 @@ Calls REPORT-FN directly."
                                       "vararg_expression"))))
                    (text "comment"))))
 
-    ;; Imenu/Outline.
+    ;; Imenu/Outline/Which-function.
     (setq-local treesit-simple-imenu-settings
                 `(("Requires"
                    "\\`function_call\\'"
@@ -776,9 +776,6 @@ Calls REPORT-FN directly."
                    lua-ts--named-function-p
                    nil)))
 
-    ;; Which-function.
-    (setq-local which-func-functions (treesit-defun-at-point))
-
     ;; Align.
     (setq-local align-indent-before-aligning t)
 
diff --git a/test/lisp/progmodes/lua-ts-mode-resources/which-function.lua 
b/test/lisp/progmodes/lua-ts-mode-resources/which-function.lua
new file mode 100644
index 00000000000..621d818461c
--- /dev/null
+++ b/test/lisp/progmodes/lua-ts-mode-resources/which-function.lua
@@ -0,0 +1,3 @@
+local function f(x)
+    print(x)
+end
diff --git a/test/lisp/progmodes/lua-ts-mode-tests.el 
b/test/lisp/progmodes/lua-ts-mode-tests.el
index 565e6f91dbd..a7b637d18d1 100644
--- a/test/lisp/progmodes/lua-ts-mode-tests.el
+++ b/test/lisp/progmodes/lua-ts-mode-tests.el
@@ -23,6 +23,7 @@
 (require 'ert-font-lock)
 (require 'ert-x)
 (require 'treesit)
+(require 'which-func)
 
 (ert-deftest lua-ts-test-indentation ()
   (skip-unless (treesit-ready-p 'lua))
@@ -37,6 +38,16 @@
   (let ((treesit-font-lock-level 4))
     (ert-font-lock-test-file (ert-resource-file "font-lock.lua") 
'lua-ts-mode)))
 
+(ert-deftest lua-ts-test-which-function ()
+  (skip-unless (treesit-ready-p 'lua))
+  (with-temp-buffer
+    (insert-file-contents (ert-resource-file "which-function.lua"))
+    (lua-ts-mode)
+    (which-function-mode)
+    (goto-char (point-min))
+    (should (equal "f" (which-function)))
+    (which-function-mode -1)))
+
 (provide 'lua-ts-mode-tests)
 
 ;;; lua-ts-mode-tests.el ends here



reply via email to

[Prev in Thread] Current Thread [Next in Thread]