From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Rudolf =?UTF-8?Q?Adamkovi=C4=8D?= via "Bug reports for GNU Emacs, the Swiss army knife of text editors" Newsgroups: gmane.emacs.bugs Subject: bug#60830: 30.0.50; The *Compilation* buffer does not recognize Lua errors Date: Thu, 12 Oct 2023 10:17:10 +0200 Message-ID: References: <909EF5E1-6F30-4A35-84E8-2EF4333115FD@gmail.com> <4996E536-72CE-4E6A-9C75-CF7307A82469@gmail.com> <8170D896-5520-4A5E-83F0-51C99BD54802@gmail.com> Reply-To: Rudolf =?UTF-8?Q?Adamkovi=C4=8D?= Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="2708"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 60830@debbugs.gnu.org, Stefan Kangas , Stefan Monnier To: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Thu Oct 12 10:18:20 2023 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1qqqtf-0000Vo-Sm for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 12 Oct 2023 10:18:19 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qqqtM-0002EH-EG; Thu, 12 Oct 2023 04:18:00 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qqqt4-00029p-Vp for bug-gnu-emacs@gnu.org; Thu, 12 Oct 2023 04:17:49 -0400 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qqqt1-0006Il-TN for bug-gnu-emacs@gnu.org; Thu, 12 Oct 2023 04:17:42 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qqqtO-0003tn-4s for bug-gnu-emacs@gnu.org; Thu, 12 Oct 2023 04:18:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Rudolf =?UTF-8?Q?Adamkovi=C4=8D?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 12 Oct 2023 08:18:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 60830 X-GNU-PR-Package: emacs Original-Received: via spool by 60830-submit@debbugs.gnu.org id=B60830.169709866614963 (code B ref 60830); Thu, 12 Oct 2023 08:18:02 +0000 Original-Received: (at 60830) by debbugs.gnu.org; 12 Oct 2023 08:17:46 +0000 Original-Received: from localhost ([127.0.0.1]:40589 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qqqt8-0003tG-0i for submit@debbugs.gnu.org; Thu, 12 Oct 2023 04:17:46 -0400 Original-Received: from pv50p00im-ztdg10011201.me.com ([17.58.6.39]:35218) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qqqt6-0003t4-CA for 60830@debbugs.gnu.org; Thu, 12 Oct 2023 04:17:45 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=me.com; s=1a1hai; t=1697098635; bh=+D5qS9+pqSZImcIQgiERHhcLtgOoGwjlaMuRtJttvl0=; h=From:To:Subject:Date:Message-ID:MIME-Version:Content-Type; b=RKNSWBFRMBAK4f1XyGmvQTjWLCb6o95wkoH4wffUJiYCFh8iFFMRNZ5BXNsnG6ROb pqKdLnG7u8aNBVCDE81OKX3p2m4FJcIIHOURhQ/9n0ji9pZZR8UolLMnALltak6V9t GR6CAlJOKyJ57QiNJWDo+aBFGILUCHwuTH3ENl4kpfi4MnstdLKeDhiaRP7JwABrtr RRZhEfN4h+n3IbDwRlHfaYlOdBgPluhVyBQrrYgDyhzSTWrzgtoTNqVg6GtCEo0Jcz xPCjFc7J9Kw3AXyLkbitHuMSPZCx4dCudSlaXp2YZwVDnGdpAQ2cLs8pqHp5A0A/sz F95ueI6lzoZWw== Original-Received: from Rudolfs-MacBook-Air.local (pv50p00im-dlb-asmtp-mailmevip.me.com [17.56.9.10]) by pv50p00im-ztdg10011201.me.com (Postfix) with ESMTPSA id 333C668017B; Thu, 12 Oct 2023 08:17:12 +0000 (UTC) In-Reply-To: X-Proofpoint-ORIG-GUID: bBjT8qfwqwGqBdSruGxYRMxjOGPgcWXZ X-Proofpoint-GUID: bBjT8qfwqwGqBdSruGxYRMxjOGPgcWXZ X-Proofpoint-Virus-Version: vendor=fsecure engine=1.1.170-22c6f66c430a71ce266a39bfe25bc2903e8d5c8f:6.0.517, 18.0.572, 17.0.605.474.0000000 definitions=2022-06-21_01:2022-06-21_01, 2020-02-14_11, 2020-01-23_02 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 bulkscore=0 mlxlogscore=447 adultscore=0 clxscore=1015 spamscore=0 malwarescore=0 mlxscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2310120070 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:272284 Archived-At: --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Rudolf Adamkovi=C4=8D writes: > ... And I forgot to attach the latest version of the patch. :) Rudy --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=0001-Make-the-Compilation-mode-recognize-Lua-errors.patch >From 715e9c353de17f9462842943e6000678ca8fab3a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rudolf=20Adamkovi=C4=8D?= Date: Tue, 3 Oct 2023 09:07:40 +0200 Subject: [PATCH] Make the Compilation mode recognize Lua errors Emacs comes with built-in support for the Lua programming language in the form of the Lua mode and now also the Lua Tree-sitter mode. This patch further improves Lua support in Emacs by making the Compilation mode recognize Lua errors and stack traces. Reported as bug#60830. * etc/compilation.txt (Lua): Add an example of a Lua error message with a stack trace. * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist): Add regexps to aid Lua development, namely the 'lua' regexp that matches Lua errors and the 'lua-stack' regexp that matches Lua stack frames. * test/lisp/progmodes/compile-tests.el (compile-tests--test-regexps-data): (compile-test-error-regexps): Test the new 'lua' and 'lua-stack' regexps added to the 'compilation-error-regexp-alist-alist'. --- etc/NEWS | 5 +++++ etc/compilation.txt | 13 +++++++++++++ lisp/progmodes/compile.el | 7 +++++++ test/lisp/progmodes/compile-tests.el | 22 ++++++++++++++++++++-- 4 files changed, 45 insertions(+), 2 deletions(-) diff --git a/etc/NEWS b/etc/NEWS index 8b2bcaaf01d..d0df4df2b2e 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -319,6 +319,11 @@ This is because it partly acts by modifying other rules which may occasionally be surprising. It can be re-enabled by adding 'omake' to 'compilation-error-regexp-alist'. +*** Lua errors and stack traces are now recognized. +The compilation mode now recognizes Lua language errors and stack +traces. Every Lua error is recognized as a compilation error, and +every Lua stack frame is recognized as a compilation info. + ** VC --- diff --git a/etc/compilation.txt b/etc/compilation.txt index 5f6ecb09cc2..fa43c89879a 100644 --- a/etc/compilation.txt +++ b/etc/compilation.txt @@ -344,6 +344,19 @@ In /home/janneke/vc/guile/examples/gud-break.scm: 1033: 0 [stderr "~a:hello world\n" (# # #)] +* Lua + +/usr/bin/lua: database.lua:31: assertion failed! +stack traceback: + [C]: in function 'assert' + database.lua:31: in field 'statement' + database.lua:42: in field 'table' + database.lua:55: in field 'row' + database.lua:63: in field 'value' + io.lua: in main chunk + [C]: in ? + + * Lucid Compiler, lcc 3.x symbol: lcc diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el index 9e441dbfcf7..9a2f633e3ec 100644 --- a/lisp/progmodes/compile.el +++ b/lisp/progmodes/compile.el @@ -362,6 +362,13 @@ compilation-error-regexp-alist-alist (ruby-Test::Unit "^ [[ ]?\\([^ (].*\\):\\([1-9][0-9]*\\)\\(\\]\\)?:in " 1 2) + (lua + "^[^:\n\t]+: \\([^:\n\t]+\\):\\([0-9]+\\): .+\nstack traceback:\n\t" + 1 2 nil 2 1) + (lua-stack + "^\t\\(?:\\[C\\]:\\|\\([^:\n\t]+\\):\\(?:\\([0-9]+\\):\\)?\\) in " + 1 2 nil 0 1) + (gmake ;; Set GNU make error messages as INFO level. ;; It starts with the name of the make program which is variable, diff --git a/test/lisp/progmodes/compile-tests.el b/test/lisp/progmodes/compile-tests.el index d497644c389..2e917d3b614 100644 --- a/test/lisp/progmodes/compile-tests.el +++ b/test/lisp/progmodes/compile-tests.el @@ -206,6 +206,24 @@ compile-tests--test-regexps-data 1 0 31 "/usr/include/c++/3.3/backward/iostream.h") (gcc-include " from test_clt.cc:1:" 1 nil 1 "test_clt.cc") + ;; Lua + (lua "lua: database.lua:10: assertion failed!\nstack traceback:\n\t" + 6 nil 10 "database.lua") + (lua "lua 5.4: database 2.lua:10: assertion failed!\nstack traceback:\n\t" + 10 nil 10 "database 2.lua") + (lua "/usr/local/bin/lua: core/database.lua:20: assertion failed!\nstack traceback:\n\t" + 21 nil 20 "core/database.lua") + (lua-stack " database.lua: in field 'statement'" + 2 nil nil "database.lua" 0) + (lua-stack " database.lua:10: in field 'statement'" + 2 nil 10 "database.lua" 0) + (lua-stack " core/database.lua:20: in field 'statement'" + 2 nil 20 "core/database.lua" 0) + (lua-stack " database 2.lua: in field 'statement'" + 2 nil nil "database 2.lua" 0) + ;; TODO Test the negative case: + ;; (lua-stack " [C]: in field 'statement'" + ;; nil nil nil nil nil) ;; gmake (gmake "make: *** [Makefile:20: all] Error 2" 12 nil 20 "Makefile" 0) (gmake "make[4]: *** [sub/make.mk:19: all] Error 127" 15 nil 19 @@ -507,9 +525,9 @@ compile-test-error-regexps 1 15 5 "alpha.c"))) (compile--test-error-line test)) - (should (eq compilation-num-errors-found 100)) + (should (eq compilation-num-errors-found 103)) (should (eq compilation-num-warnings-found 35)) - (should (eq compilation-num-infos-found 28))))) + (should (eq compilation-num-infos-found 32))))) (ert-deftest compile-test-grep-regexps () "Test the `grep-regexp-alist' regexps. -- 2.39.3 (Apple Git-145) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable --=20 "Great minds discuss ideas; average minds discuss events; small minds discu= ss people." --- Anna Eleanor Roosevelt (1884-1962) Rudolf Adamkovi=C4=8D [he/him] Studenohorsk=C3=A1 25 84103 Bratislava Slovakia --=-=-=--