Subject: 29.0.50; M-x compile misinterprets libcheck error message format

From: "Basil L. Contovounesios" <[email-masked]>
Date: Thu, 03 Nov 2022 15:07:43 +0200

Severity: wishlist

Starting from an Emacs built with the following patches:
https://bugs.gnu.org/58975#11
https://bugs.gnu.org/58976#8

And with Check[0] installed, visit test/manual/noverlay/itree-tests.c,
flip any ck_assert condition to make it fail, and M-x compile RET.

[0]: https://libcheck.github.io/check/

The sanitized error is highlighted correctly, and compile-goto-error
jumps to the correct location:

Now remove the call to check-sanitize.sh from the Makefile, and rerun
'make'.  The error is highlighted differently, and compile-goto-error
jumps to the start of the file whose name is read interactively:

(info "(check) Unit Testing in C") claims:

  The test failure messages thrown up by Check use the common idiom of
  'filename:linenumber:message' used by 'gcc' and family to report
  problems in source code.  With (X)Emacs, the output of Check allows
  one to quickly navigate to the location of the unit test that failed;
  presumably that also works in VI and IDEs.

So IWBNI this were indeed the case OOTB, at least for Check's default
CK_NORMAL print_mode verbosity level.  Here are some more message
examples from the Check manual:

check_money.c:9:F:Core:test_money_create:0: Assertion 'money_amount (m)==5' failed: money_amount (m)==0, 5==5
check_money.c:5:E:Core:test_money_create:0: (after this point) Received signal 11 (Segmentation fault)
ex_log_output.c:8:P:Core:test_pass: Test passed
ex_log_output.c:14:F:Core:test_fail: Failure
ex_log_output.c:18:E:Core:test_exit: (after this point) Early exit with return value 1
ex_log_output.c:26:P:Core:test_pass2: Test passed

Thanks,

-- 
Basil

In GNU Emacs 29.0.50 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo
 version 1.16.0, Xaw3d scroll bars) of 2022-11-03 built on tia
Repository revision: d540cb00865368bb9df9299838006dfe09255bc6
Repository branch: blc/itree
Windowing system distributor 'The X.Org Foundation', version 11.0.12101004
System Description: Debian GNU/Linux bookworm/sid

Configured using:
 'configure 'CFLAGS=-Og -ggdb3' -C --prefix=/home/blc/.local
 --enable-checking=structs --with-file-notification=yes
 --with-x-toolkit=lucid --with-x'

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
JSON LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES NOTIFY
INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF
TOOLKIT_SCROLL_BARS WEBP X11 XAW3D XDBE XIM XINPUT2 XPM LUCID ZLIB

Important settings:
  value of $LANG: en_IE.UTF-8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix