diff --git a/etc/compilation.txt b/etc/compilation.txt index 801d262f5aa..b97ba12fb9a 100644 --- a/etc/compilation.txt +++ b/etc/compilation.txt @@ -331,6 +331,7 @@ boost/container/detail/flat_tree.hpp:589:25: [ skipping 5 instantiation contex | |board.h:60:21: | 60 | #define I(b, C) ((C).y * (b)->width + (C).x) + src/add.cpp:8:31: error: invalid operands of types ‘const double’ and ‘const double*’ to binary ‘operator+’ * Guile backtrace, 2.0.11 diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el index 07974906a90..53aca7b0266 100644 --- a/lisp/progmodes/compile.el +++ b/lisp/progmodes/compile.el @@ -460,8 +460,9 @@ of[ \t]+\"?\\([a-zA-Z]?:?[^\":\n]+\\)\"?:" 3 2 nil (1)) ;; non-interactive programs other than compilers (e.g. the ;; "jade:" entry in compilation.txt). (? (| (: alpha (+ (in ?. ?- alnum)) ":" (? " ")) - ;; Skip indentation generated by GCC's -fanalyzer. - (: (+ " ") "|"))) + ;; Skip indentation generated by GCC's -fanalyzer (with |), + ;; or two spaces from pip install (without |). + (: (+ " ") (? "|")))) ;; File name group. (group-n 1 diff --git a/test/lisp/progmodes/compile-tests.el b/test/lisp/progmodes/compile-tests.el index 67a713857e3..caf386b4950 100644 --- a/test/lisp/progmodes/compile-tests.el +++ b/test/lisp/progmodes/compile-tests.el @@ -121,7 +121,8 @@ ;; cucumber (cucumber "Scenario: undefined step # features/cucumber.feature:3" 29 nil 3 "features/cucumber.feature" error) - (cucumber " /home/gusev/.rvm/foo/bar.rb:500:in `_wrap_assertion'" + ;; Below is from cucumber but gnu regexp is consistent and matches first. + (gnu " /home/gusev/.rvm/foo/bar.rb:500:in `_wrap_assertion'" 1 nil 500 "/home/gusev/.rvm/foo/bar.rb" error) ;; edg-1 edg-2 (edg-1 "build/intel/debug/../../../struct.cpp(42): error: identifier \"foo\" is undefined" @@ -271,6 +272,8 @@ 1 nil 27041 "{standard input}" warning) (gnu "boost/container/detail/flat_tree.hpp:589:25: [ skipping 5 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]" 1 25 589 "boost/container/detail/flat_tree.hpp" info) + ;; Below from pip install, running g++ to compile python extension module. + (gnu " src/add.cpp:8:31: error: invalid operands of types ‘const double’ and ‘const double*’ to binary ‘operator+’" 1 31 8 "src/add.cpp" error) ;; Gradle/Kotlin (gradle-kotlin "e: file:///src/Test.kt:267:5 foo: bar" 4 5 267 "/src/Test.kt" error) @@ -556,7 +559,7 @@ The test data is in `compile-tests--test-regexps-data'." 1 15 5 "alpha.c"))) (compile--test-error-line test)) - (should (eq compilation-num-errors-found 110)) + (should (eq compilation-num-errors-found 111)) (should (eq compilation-num-warnings-found 37)) (should (eq compilation-num-infos-found 36)))))