* 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 <jann...@gnu.org> + + * compilation.txt (file): Add Guile backtrace example. + 2014-07-21 Dmitry Antipov <dmanti...@yandex.ru> * 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 Adapter 'javac' can't be found. {standard input}:27041: Warning: end of file not at end of a line; newline inserted +* Guile backtraces + +Backtrace: +In ice-9/boot-9.scm: + 157: 6 [catch #t #<catch-closure 196e3e0> ...] +In unknown file: + ?: 5 [apply-smob/1 #<catch-closure 196e3e0>] +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)) #<directory (gud-break) 1962510>] +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 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 <jann...@gnu.org> + + * 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 <jann...@gnu.org> * 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 = \\(.+\\), Line = \\([0-9]+\\)\\(?:, Column = \\([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'.") 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 <jann...@gnu.org> + + * 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 <r...@gnu.org> * automated/Makefile.in (check-tar): New rule. diff --git a/test/automated/compile-tests.el b/test/automated/compile-tests.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) + (equal (caar (compilation--loc->file-struct loc)) file)) (or (null end-col) (equal (car (cadr (nth 2 (compilation--loc->file-struct loc)))) end-col)) -- Jan Nieuwenhuizen <jann...@gnu.org> | GNU LilyPond http://lilypond.org Freelance IT http://JoyofSource.com | AvatarĀ® http://AvatarAcademy.nl