From debbugs-submit-bounces@debbugs.gnu.org Fri Mar 31 01:38:16 2023 Received: (at submit) by debbugs.gnu.org; 31 Mar 2023 05:38:16 +0000 Received: from localhost ([127.0.0.1]:60117 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pi7Sq-0001Ev-1a for submit@debbugs.gnu.org; Fri, 31 Mar 2023 01:38:16 -0400 Received: from lists.gnu.org ([209.51.188.17]:53586) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pi7Sn-0001En-UQ for submit@debbugs.gnu.org; Fri, 31 Mar 2023 01:38:15 -0400 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 1pi7Sn-0000Vn-Ea for bug-gnu-emacs@gnu.org; Fri, 31 Mar 2023 01:38:13 -0400 Received: from outbound-ss-761.bluehost.com ([74.220.211.250]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pi7Sh-0002bz-DG for bug-gnu-emacs@gnu.org; Fri, 31 Mar 2023 01:38:10 -0400 Received: from cmgw12.mail.unifiedlayer.com (unknown [10.0.90.127]) by progateway8.mail.pro1.eigbox.com (Postfix) with ESMTP id 2D4E11004CA59 for ; Fri, 31 Mar 2023 05:37:48 +0000 (UTC) Received: from box5379.bluehost.com ([162.241.216.53]) by cmsmtp with ESMTP id i7SNpCJt1eOVYi7SNpKNbo; Fri, 31 Mar 2023 05:37:48 +0000 X-Authority-Reason: nr=8 X-Authority-Analysis: v=2.4 cv=Ks+IZUaN c=1 sm=1 tr=0 ts=642671ac a=ApxJNpeYhEAb1aAlGBBbmA==:117 a=ApxJNpeYhEAb1aAlGBBbmA==:17 a=dLZJa+xiwSxG16/P+YVxDGlgEgI=:19 a=IkcTkHD0fZMA:10:nop_charset_1 a=k__wU0fu6RkA:10:nop_rcvd_month_year a=Qbun_eYptAEA:10:endurance_base64_authed_username_1 a=vTr9H3xdAAAA:8 a=aR16PxjQAAAA:8 a=sxt07eeNDrDxN6pDSu4A:9 a=QEXdDO2ut3YA:10:nop_charset_2 a=7PCjnrUJ-F5voXmZD6jJ:22 a=zbFvvTOBjyH4ze5LlUjX:22 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tromey.com; s=default; h=Content-Transfer-Encoding:Content-Type:MIME-Version:Message-ID: Date:Subject:To:From:Sender:Reply-To:Cc:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=vNY/7Xl58K72jXaUyxvXSoqoR5SXiilzo7k7dDWXUO0=; b=xt4n/tJtR5gir/I1kx4g955yP6 1kAtKs3X/rI5+V0wYfHZ94VV8qdmRkHTk0bUrJV+XdoKkSv7YG3oWv5pGjYDvTrZ/zk+aC9XdZtqU NssSQ6Rqd0Sc4BPDVf76ue5in; Received: from 71-211-185-113.hlrn.qwest.net ([71.211.185.113]:56312 helo=prentzel) by box5379.bluehost.com with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.95) (envelope-from ) id 1pi7SN-001PsZ-Pc; Thu, 30 Mar 2023 23:37:47 -0600 From: Tom Tromey To: bug-gnu-emacs@gnu.org Subject: 28.2; compile-mode misidentifies compiler output X-Attribution: Tom Date: Thu, 30 Mar 2023 23:37:43 -0600 Message-ID: <87355l8orc.fsf@tromey.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - box5379.bluehost.com X-AntiAbuse: Original Domain - gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - tromey.com X-BWhitelist: no X-Source-IP: 71.211.185.113 X-Source-L: No X-Exim-ID: 1pi7SN-001PsZ-Pc X-Source: X-Source-Args: X-Source-Dir: X-Source-Sender: 71-211-185-113.hlrn.qwest.net (prentzel) [71.211.185.113]:56312 X-Source-Auth: tom+tromey.com X-Email-Count: 1 X-Source-Cap: ZWx5bnJvYmk7ZWx5bnJvYmk7Ym94NTM3OS5ibHVlaG9zdC5jb20= X-Local-Domain: yes Received-SPF: pass client-ip=74.220.211.250; envelope-from=tom@tromey.com; helo=outbound-ss-761.bluehost.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.6 (-) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.6 (--) Put the text between the "=3D=3D=3D" lines into a file, say /tmp/F. Then M-x compile and for the compile command use "cat /tmp/F". For me, the "| ... unsigned char :3" lines are partly highlighted as if they are error messages, and next-error will erroneously try to select these. These lines occur because gcc prints some of the source code in the error message. I think Emacs should not treat them as if they explain the location of an error. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D make[2]: Entering directory '/home/tromey/gdb/build/gdb' CXX psymtab.o ../../binutils-gdb/gdb/psymtab.c: In function =E2=80=98void maintenance_che= ck_psymtabs(const char*, int)=E2=80=99: ../../binutils-gdb/gdb/psymtab.c:1614:52: error: could not convert =E2=80= =98psym->partial_symbol::domain=E2=80=99 from =E2=80=98unsigned char:3=E2= =80=99 to =E2=80=98domain_search_flags=E2=80=99 {aka =E2=80=98enum_flags=E2=80=99} 1614 | psym->domain); | ~~~~~~^~~~~~ | | | unsigned char:3 ../../binutils-gdb/gdb/psymtab.c:1629:52: error: could not convert =E2=80= =98psym->partial_symbol::domain=E2=80=99 from =E2=80=98unsigned char:3=E2= =80=99 to =E2=80=98domain_search_flags=E2=80=99 {aka =E2=80=98enum_flags=E2=80=99} 1629 | psym->domain); | ~~~~~~^~~~~~ | | | unsigned char:3 make[2]: *** [Makefile:1920: psymtab.o] Error 1 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D In GNU Emacs 28.2 (build 1, x86_64-redhat-linux-gnu, GTK+ Version 3.24.35, = cairo version 1.17.6) of 2023-01-28 built on buildvm-x86-25.iad2.fedoraproject.org Windowing system distributor 'The X.Org Foundation', version 11.0.12201008 System Description: Fedora Linux 36 (Workstation Edition) Configured using: 'configure --build=3Dx86_64-redhat-linux-gnu --host=3Dx86_64-redhat-linux-gnu --program-prefix=3D --disable-dependency-tracking --prefix=3D/usr --exec-prefix=3D/usr --bindir=3D/usr/bin --sbindir=3D/usr/sbin --sysconfdir=3D/etc --datadir=3D/usr/share --includedir=3D/usr/include --libdir=3D/usr/lib64 --libexecdir=3D/usr/libexec --localstatedir=3D/var --sharedstatedir=3D/var/lib --mandir=3D/usr/share/man --infodir=3D/usr/share/info --with-dbus --with-gif --with-jpeg --with-png --with-rsvg --with-tiff --with-xpm --with-x-toolkit=3Dgtk3 --with-gpm=3Dno --with-xwidgets --with-modules --with-harfbuzz --with-cairo --with-json --with-native-compilation build_alias=3Dx86_64-redhat-linux-gnu host_alias=3Dx86_64-redhat-linux-gnu CC=3Dgcc 'CFLAGS=3D-DMAIL_USE_LOCKF -= O2 -flto=3Dauto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=3Dformat-security -Wp,-D_FORTIFY_SOURCE=3D2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=3D/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=3D/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=3Dgeneric -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection' LDFLAGS=3D-Wl,-z,relro PKG_CONFIG_PATH=3D:/usr/lib64/pkgconfig:/usr/share/pkgconfig' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG JSON LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND THREADS TIFF TOOLKIT_SCROLL_BARS X11 XDBE XIM XPM XWIDGETS GTK3 ZLIB Important settings: value of $LANG: en_US.UTF-8 value of $XMODIFIERS: @im=3Dibus locale-coding-system: utf-8-unix Major mode: Fundamental Minor modes in effect: shell-dirtrack-mode: t which-function-mode: t erc-services-mode: t erc-networks-mode: t savehist-mode: t tooltip-mode: t global-eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t column-number-mode: t line-number-mode: t indent-tabs-mode: t transient-mark-mode: t Load-path shadows: /home/tromey/.emacs.d/elpa/bubbles-0.5/bubbles hides /usr/share/emacs/28.2/= lisp/play/bubbles /home/tromey/.emacs.d/elpa/dictionary-1.10/dictionary hides /usr/share/emac= s/28.2/lisp/net/dictionary Features: (shadow emacsbug modula2 smie python tramp-sh vc-annotate f90 cus-edit cus-start asm-mode mailalias supercite regi mail-hist shr-color mm-archive mule-util tcl dwarf-mode org-bullets org-element avl-tree ol-eww eww xdg url-queue mm-url ol-rmail ol-mhe ol-irc ol-info ol-gnus nnselect gnus-search eieio-opt speedbar ezimage dframe ol-docview doc-view jka-compr image-mode exif ol-bibtex ol-bbdb ol-w3m ol-doi org-link-doi org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-footnote org-src ob-comint org-pcomplete org-list org-faces org-entities noutline outline org-version ob-emacs-lisp ob-core ob-eval org-table oc-basic bibtex ol org-keys oc org-compat org-macs org-loaddefs find-func term/xterm xterm pulse find-dired ffap gud goto-addr log-edit dabbrev find-file copyright ggtags hippie-exp etags fileloop generator xref project bug-reference smerge-mode diff cc-mode cc-fonts cc-guess cc-menus cc-cmds log-view pcvs-util vc-mtn vc-hg vc-git diff-mode vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs sort smiley gnus-cite mail-extr gnus-async gnus-bcklg qp gnus-ml disp-table misearch multi-isearch gnus-topic nndraft nnmh nnfolder utf-7 gnutls network-stream nsm gnus-agent gnus-srvr gnus-score score-mode nnvirtual gnus-msg gnus-art mm-uu mml2015 mm-view mml-smime smime dig nntp gnus-cache gnus-sum shr kinsoku svg dom gnus-group gnus-undo smtpmail sendmail gnus-start gnus-dbus dbus gnus-cloud nnimap nnmail mail-source utf7 netrc nnoo gnus-spec gnus-int gnus-range message rmc puny dired dired-loaddefs rfc822 mml mml-sec epa derived epg rfc6068 epg-config mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader gnus-win gnus nnheader gnus-util rmail rmail-loaddefs rfc2047 rfc2045 ietf-drums mail-utils mm-util mail-prsvr add-log flyspell ispell diminish projectile ibuf-macs pcase edmacro kmacro grep compile text-property-search ibuf-ext ibuffer ibuffer-loaddefs dash appt diary-lib diary-loaddefs cal-menu calendar cal-loaddefs tramp tramp-loaddefs trampver tramp-integration files-x tramp-compat shell pcomplete parse-time ls-lisp which-func imenu minimap autorevert filenotify cus-load erc-track erc-match erc-services erc-networks erc-hl-nicks easy-mmode color erc-button erc-fill erc-stamp wid-edit erc-goodies erc erc-backend iso8601 time-date thingatpt pp format-spec erc-loaddefs comp comp-cstr rx cl-extra help-mode warnings advice vc-dir ewoc vc vc-dispatcher cc-styles cc-align cc-engine cc-vars cc-defs ange-ftp comint ansi-color ring server savehist clang-rename clang-include-fixer let-alist clang-format xml finder-inf gdb-shell-autoloads lisppaste-autoloads pydoc-info-autoloads info-look info cl weblogger-autoloads package browse-url url url-proxy url-privacy url-expand url-methods url-history url-cookie url-domsuf url-util mailcap url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs password-cache json subr-x map url-vars seq byte-opt gv bytecomp byte-compile cconv cl-loaddefs cl-lib iso-transl tooltip eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice button loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote threads xwidget-internal dbusbind inotify dynamic-setting system-font-setting font-render-setting cairo move-toolbar gtk x-toolkit x multi-tty make-network-process native-compile emacs) Memory information: ((conses 16 1714013 158817) (symbols 48 57899 16) (strings 32 168379 19915) (string-bytes 1 7108390) (vectors 16 98085) (vector-slots 8 2538401 323345) (floats 8 506 567) (intervals 56 201434 1380) (buffers 992 316)) From debbugs-submit-bounces@debbugs.gnu.org Fri Mar 31 02:09:11 2023 Received: (at 62560) by debbugs.gnu.org; 31 Mar 2023 06:09:12 +0000 Received: from localhost ([127.0.0.1]:60157 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pi7wl-00025D-MJ for submit@debbugs.gnu.org; Fri, 31 Mar 2023 02:09:11 -0400 Received: from eggs.gnu.org ([209.51.188.92]:52366) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pi7wi-00024x-KL for 62560@debbugs.gnu.org; Fri, 31 Mar 2023 02:09:09 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pi7wd-0007lf-2n; Fri, 31 Mar 2023 02:09:03 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=XszNm/cK/5aJKm/C4oRhnAHim+fe/znCRN6AZAJGg7A=; b=YiwIenpGdlpR MPW9ZeaAcBty9T/hkdcBFEVAIIVD2858cchUPlxg+sZJ5zQdd8XYxMSJQRhsIG0rQHuUF3C4/AZQD fmhXDMkyokieWtBzfBWvM2tzJmpgKadOEmlRpcw57/b+UatXZ/u+68vrhq4F8HIjHNnOkTPD0PJki 5SfkuT+3NPP90zx7dXmE6DPjJQO5G+phszS1zKlkiXsNdU2cBWdepcm+t9aKBXQEgtQNzPkE0BwDo uTvfbU2RDK/V9zS3Uzw5YX0xewVnORuQr7zT4sM85ywaRocpwe/bBYFeDXGRwNeHefRk1yGVlZ7rS tIztijU+o0BJFwIwnRxYGg==; Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pi7wc-0004ka-64; Fri, 31 Mar 2023 02:09:02 -0400 Date: Fri, 31 Mar 2023 09:09:12 +0300 Message-Id: <831ql54flj.fsf@gnu.org> From: Eli Zaretskii To: Tom Tromey In-Reply-To: <87355l8orc.fsf@tromey.com> (message from Tom Tromey on Thu, 30 Mar 2023 23:37:43 -0600) Subject: Re: bug#62560: 28.2; compile-mode misidentifies compiler output References: <87355l8orc.fsf@tromey.com> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 62560 Cc: 62560@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Tom Tromey > Date: Thu, 30 Mar 2023 23:37:43 -0600 > > > Put the text between the "===" lines into a file, say /tmp/F. > Then M-x compile and for the compile command use "cat /tmp/F". > > For me, the "| ... unsigned char :3" lines are partly highlighted as if > they are error messages, and next-error will erroneously try to select > these. > > These lines occur because gcc prints some of the source code in the > error message. I think Emacs should not treat them as if they explain > the location of an error. Any idea how to accomplish that, given that GCC emits unformatted and unstructured text? We could complicate the heck out of our regexps, but theoretically a compiler could emit an error message that quotes text that looks exactly as warning/error message, and what do we do then? Are there any developments in compilers to produce structured text, like JSON or XML? If so, it is probably better for us to use that when available, because otherwise I see no way of solving these cases 100%. From debbugs-submit-bounces@debbugs.gnu.org Fri Mar 31 11:01:55 2023 Received: (at 62560) by debbugs.gnu.org; 31 Mar 2023 15:01:55 +0000 Received: from localhost ([127.0.0.1]:34202 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1piGGI-0006gB-P9 for submit@debbugs.gnu.org; Fri, 31 Mar 2023 11:01:55 -0400 Received: from gproxy4-pub.mail.unifiedlayer.com ([69.89.23.142]:52505) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1piGGG-0006fw-0I for 62560@debbugs.gnu.org; Fri, 31 Mar 2023 11:01:52 -0400 Received: from cmgw15.mail.unifiedlayer.com (unknown [10.0.90.130]) by progateway6.mail.pro1.eigbox.com (Postfix) with ESMTP id 6EE381004368F for <62560@debbugs.gnu.org>; Fri, 31 Mar 2023 15:01:45 +0000 (UTC) Received: from box5379.bluehost.com ([162.241.216.53]) by cmsmtp with ESMTP id iGG9pYUU2yk8ziGG9p7S5J; Fri, 31 Mar 2023 15:01:45 +0000 X-Authority-Reason: nr=8 X-Authority-Analysis: v=2.4 cv=fuoZ2H0f c=1 sm=1 tr=0 ts=6426f5d9 a=ApxJNpeYhEAb1aAlGBBbmA==:117 a=ApxJNpeYhEAb1aAlGBBbmA==:17 a=dLZJa+xiwSxG16/P+YVxDGlgEgI=:19 a=k__wU0fu6RkA:10:nop_rcvd_month_year a=Qbun_eYptAEA:10:endurance_base64_authed_username_1 a=mDV3o1hIAAAA:8 a=MaWO5e6zUGTZ1VWJK0sA:9 a=_FVE-zBwftR9WsbkzFJk:22 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tromey.com; s=default; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date:References :Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=V9RL6huPNlCwKaXLfeosr9JC2BE9lpWiFQiRhmU4kfs=; b=g3/oo1mkkfRrOcmw9Fm2csMRsO kQpxoeec8BlhXv0e7rEAWBsgnOrpV4iS3SSgi1ty5uDi+HFn6d0lLrQXwz+sDIsj4sPIN8JMeCZw2 pk8yFy2ZJQsWUonFCuRwsG/7l; Received: from 71-211-185-113.hlrn.qwest.net ([71.211.185.113]:41764 helo=prentzel) by box5379.bluehost.com with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.95) (envelope-from ) id 1piGG8-000Urb-VW; Fri, 31 Mar 2023 09:01:45 -0600 From: Tom Tromey To: Eli Zaretskii Subject: Re: bug#62560: 28.2; compile-mode misidentifies compiler output References: <87355l8orc.fsf@tromey.com> <831ql54flj.fsf@gnu.org> X-Attribution: Tom Date: Fri, 31 Mar 2023 09:01:42 -0600 In-Reply-To: <831ql54flj.fsf@gnu.org> (Eli Zaretskii's message of "Fri, 31 Mar 2023 09:09:12 +0300") Message-ID: <87tty16k2x.fsf@tromey.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - box5379.bluehost.com X-AntiAbuse: Original Domain - debbugs.gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - tromey.com X-BWhitelist: no X-Source-IP: 71.211.185.113 X-Source-L: No X-Exim-ID: 1piGG8-000Urb-VW X-Source: X-Source-Args: X-Source-Dir: X-Source-Sender: 71-211-185-113.hlrn.qwest.net (prentzel) [71.211.185.113]:41764 X-Source-Auth: tom+tromey.com X-Email-Count: 2 X-Source-Cap: ZWx5bnJvYmk7ZWx5bnJvYmk7Ym94NTM3OS5ibHVlaG9zdC5jb20= X-Local-Domain: yes X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 62560 Cc: Tom Tromey , 62560@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) >>>>> "Eli" == Eli Zaretskii writes: Eli> Any idea how to accomplish that, given that GCC emits unformatted and Eli> unstructured text? Maybe ignore lines starting with whitespace and then "|"? Eli> We could complicate the heck out of our regexps, Eli> but theoretically a compiler could emit an error message that quotes Eli> text that looks exactly as warning/error message, and what do we do Eli> then? Yeah... keep on patching I suppose. Eli> Are there any developments in compilers to produce structured text, Eli> like JSON or XML? In (info "(gcc) Diagnostic Message Formatting Options") I see: '-fdiagnostics-format=FORMAT' Select a different format for printing diagnostics. FORMAT is 'text' or 'json'. The default is 'text'. I guess it could be made to work, though to be really useful I think Emacs would have to reformat this before inserting in the compilation buffer; but also it doesn't really solve the problem because while gcc does this, many other tools run by make do not. Tom