From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Jan Nieuwenhuizen Newsgroups: gmane.emacs.devel,gmane.lisp.guile.devel Subject: [PATCH] Support Guile backtraces in compilation mode. Date: Fri, 8 Aug 2014 19:51:05 +0200 Message-ID: <1407520265-23162-2-git-send-email-janneke@gnu.org> References: <1407520265-23162-1-git-send-email-janneke@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1407521371 11597 80.91.229.3 (8 Aug 2014 18:09:31 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 8 Aug 2014 18:09:31 +0000 (UTC) To: emacs-devel , guile-devel Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Aug 08 20:09:28 2014 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1XFobM-0008Hh-R8 for ged-emacs-devel@m.gmane.org; Fri, 08 Aug 2014 20:09:17 +0200 Original-Received: from localhost ([::1]:52421 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XFobM-00089r-8x for ged-emacs-devel@m.gmane.org; Fri, 08 Aug 2014 14:09:16 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:55031) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XFoK9-0004u8-Vj for emacs-devel@gnu.org; Fri, 08 Aug 2014 13:51:34 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XFoK5-0002em-Dc for emacs-devel@gnu.org; Fri, 08 Aug 2014 13:51:29 -0400 Original-Received: from smtp-vbr14.xs4all.nl ([194.109.24.34]:4803) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XFoJv-0002ZQ-Gx; Fri, 08 Aug 2014 13:51:15 -0400 Original-Received: from drakenvlieg.flower (peder.onsbrabantnet.nl [88.159.206.46]) (authenticated bits=0) by smtp-vbr14.xs4all.nl (8.13.8/8.13.8) with ESMTP id s78HpAeW021086 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO); Fri, 8 Aug 2014 19:51:14 +0200 (CEST) (envelope-from janneke@gnu.org) X-Mailer: git-send-email 1.9.1 In-Reply-To: <1407520265-23162-1-git-send-email-janneke@gnu.org> X-Virus-Scanned: by XS4ALL Virus Scanner X-MIME-Autoconverted: from 8bit to quoted-printable by smtp-vbr14.xs4all.nl id s78HpAeW021086 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 194.109.24.34 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:173488 gmane.lisp.guile.devel:17308 Archived-At: * progmodes/compile.el (compilation-error-regexp-alist-alist): Add Guile regexpses. etc/: Add Guile backtrace example. * compilation.txt (file): Add Guile backtrace example. test/: Add tests for Guile compile regexps. * automated/compile-tests.el (compile--test-error-line): Grok FILE being nil. Allows for Guile tests to pass. (compile-tests--test-regexps-data): Add Guile tests. --- etc/ChangeLog | 4 ++++ etc/compilation.txt | 18 ++++++++++++++++++ lisp/ChangeLog | 9 +++++++++ lisp/progmodes/compile.el | 2 ++ test/ChangeLog | 6 ++++++ test/automated/compile-tests.el | 7 ++++++- 6 files changed, 45 insertions(+), 1 deletion(-) diff --git a/etc/ChangeLog b/etc/ChangeLog index c0db914..67a70e0 100644 --- a/etc/ChangeLog +++ b/etc/ChangeLog @@ -1,3 +1,7 @@ +2014-08-08 Jan Nieuwenhuizen + + * compilation.txt (file): Add Guile backtrace example. + 2014-07-21 Dmitry Antipov =20 * TODO: remove frame height remark. diff --git a/etc/compilation.txt b/etc/compilation.txt index e835c57..84da6b9 100644 --- a/etc/compilation.txt +++ b/etc/compilation.txt @@ -261,6 +261,24 @@ file:G:/cygwin/dev/build-myproj.xml:54: Compiler Ada= pter 'javac' can't be found. {standard input}:27041: Warning: end of file not at end of a line; newli= ne inserted =20 =20 +* Guile backtraces + +Backtrace: +In ice-9/boot-9.scm: + 157: 6 [catch #t # ...] +In unknown file: + ?: 5 [apply-smob/1 #] +In ice-9/boot-9.scm: + 63: 4 [call-with-prompt prompt0 ...] +In ice-9/eval.scm: + 432: 3 [eval # #] +In unknown file: + ?: 2 [eval (main (command-line)) #] +In /home/janneke/vc/guile/examples/gud-break.scm: +1038: 1 [main ("gud-break.scm")] +1033: 0 [stderr "~a:hello world\n" (# # #)] + + * Lucid Compiler, lcc 3.x =20 symbol: lcc diff --git a/lisp/ChangeLog b/lisp/ChangeLog index b3da957..b66d48a 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,12 @@ +2014-08-08 Jan Nieuwenhuizen + + * progmodes/compile.el (compilation-error-regexp-alist-alist): + Add Guile regexpses. + (compilation-dynamic-guile-load-path-p) + (compilation-guile-get-load-path-command) + (compilation-guile-load-path): New variable. + (compilation-guile-in-find-file): New function. + 2014-08-05 Jan Nieuwenhuizen =20 * progmodes/gud.el (guiler): New function. Starts the Guile REPL; diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el index 000d719..5d3b687 100644 --- a/lisp/progmodes/compile.el +++ b/lisp/progmodes/compile.el @@ -477,6 +477,8 @@ File =3D \\(.+\\), Line =3D \\([0-9]+\\)\\(?:, Column= =3D \\([0-9]+\\)\\)?" ;; "^\\([^ \t\r\n(]+\\) (\\([0-9]+\\):\\([0-9]+\\)) " 1 2 3) + (guile-file "^In \\(.+\\):\n" 1) + (guile-line "^ *\\([0-9]+\\): *\\([0-9]+\\)" nil 1 2) ) "Alist of values for `compilation-error-regexp-alist'.") =20 diff --git a/test/ChangeLog b/test/ChangeLog index 4339dc5..92b0d12 100644 --- a/test/ChangeLog +++ b/test/ChangeLog @@ -1,3 +1,9 @@ +2014-08-08 Jan Nieuwenhuizen + + * automated/compile-tests.el (compile--test-error-line): Grok FILE + being nil. Allows for Guile tests to pass. + (compile-tests--test-regexps-data): Add Guile tests. + 2014-08-03 Glenn Morris =20 * automated/Makefile.in (check-tar): New rule. diff --git a/test/automated/compile-tests.el b/test/automated/compile-tes= ts.el index 6c169ee..e231331 100644 --- a/test/automated/compile-tests.el +++ b/test/automated/compile-tests.el @@ -190,6 +190,10 @@ 1 nil 54 "G:/cygwin/dev/build-myproj.xml") ("{standard input}:27041: Warning: end of file not at end of a line;= newline inserted" 1 nil 27041 "{standard input}") + ;; Guile + ("In foo.scm:\n" 1 nil nil "foo.scm") + (" 63:4 [call-with-prompt prompt0 ...]" 1 4 63 nil) + ("1038: 1 [main (\"gud-break.scm\")]" 1 1 1038 nil) ;; lcc ("E, file.cc(35,52) Illegal operation on pointers" 1 52 35 "file.cc"= ) ("W, file.cc(36,52) blah blah" 1 52 36 "file.cc") @@ -338,7 +342,8 @@ END-LINE, if that matched.") (setq end-line (cdr line) line (car line))) (and (equal (compilation--loc->col loc) col) (equal (compilation--loc->line loc) line) - (equal (caar (compilation--loc->file-struct loc)) file) + (or (not file)=20 + (equal (caar (compilation--loc->file-struct loc)) file)= ) (or (null end-col) (equal (car (cadr (nth 2 (compilation--loc->file-struct loc)))) end-col)) --=20 Jan Nieuwenhuizen | GNU LilyPond http://lilypond.org Freelance IT http://JoyofSource.com | Avatar=C2=AE http://AvatarAcademy.= nl =20