From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: =?UTF-8?Q?Daniel_Mart=c3=adn?= Newsgroups: gmane.emacs.devel Subject: [PATCH] Add support for parsing column numbers in Visual Studio messages Date: Sun, 26 Jul 2020 17:22:20 +0200 Message-ID: References: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------6594DCE98113DB6394641A41" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="4273"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sun Jul 26 17:33:20 2020 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jzieO-00011Y-Cd for ged-emacs-devel@m.gmane-mx.org; Sun, 26 Jul 2020 17:33:20 +0200 Original-Received: from localhost ([::1]:39336 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jzieN-0005ng-EE for ged-emacs-devel@m.gmane-mx.org; Sun, 26 Jul 2020 11:33:19 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:36668) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jziU6-0000jB-S0 for emacs-devel@gnu.org; Sun, 26 Jul 2020 11:22:42 -0400 Original-Received: from sonic313-20.consmr.mail.ir2.yahoo.com ([77.238.179.187]:34501) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jziU3-0001T3-TC for emacs-devel@gnu.org; Sun, 26 Jul 2020 11:22:42 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.es; s=s2048; t=1595776955; bh=COXFz4plIiITbzUoqlgNIAZiZZRZsP84IT43XeM2oIc=; h=From:Subject:To:Date:References:From:Subject; b=Z8DZWRc2UpWKGW8glUqd09OBlfRyRTYI22JbR3y0R8HktKvZuDPrn0M2mXpGmB+uhl2tNjM6e4OhsCa7VfCqMyxZ3EizCQnvCN2teM1sRNvNvg80v4Adu/KqJ6KtmWC+TUeU6hedwGk3B/m8MB8WfGOpgSGHLtT3qs7lcVUsiqyp3IctgaorNRwDBRSTLNHf78+uINERmliG2wiZoynsjppyM8qm5ZHQH+nzt5/+I1P5L8M7N4PWM3K69yYeQviiZw5Pem6sR9sLgwsW+8W3ouZLL5CGrMSJCcaB7WWyYK8GE/tWPUHlIeeOkSpizZHGzJ6PSRXsn9m6ie6cfryuBg== X-YMail-OSG: S5Sshf4VM1nNfkon8p01SDVJ9Fk.VsCJZ0zQJekMhkXJ5PftT00I9i6eEX3vZG3 yCG7_Ec8pilyN.VqBswJUEinluSXcO7y88AuwINH3GZr2ci.C9Of4d69zw7OH11Omnq_PPU.BzLB ywYEqHS37ikM7pAafdywHtD4dkN8QYNPN2BFZjJS210rt2UOog4D.90G3LZebotd7eoGAgCMNcwW IgXQpdkSqREdhl0MJp34t0FJczjljkx5Vxv2cNoiIqpEGu7VEEamJjbt8ye8F7KH3p5uI3E3d5B9 k1EVxWc3D8dREBdIxnu9XS9c.FOJjGTs93UHolNXehocXcifXByuQcbQ2uPlSEg9vrHh9wz1NtWC CxADntNMXT6XaK132TWoiPqhj53uFowOwJBwzEpsA8SdjT8PV8nCiEjBUV_56cH6OkNoflRj2N3b YzjvU7GFyQBjvgtAaqinnyQbNspgtMTRDv_828ssFiUYWWqRnydSGjGh7m3qe49EhDn0JE1MgHJL doJuQ6TE9lJzZp5pSmtmh_OQNEaqfz8R..2VVrobxjg7b310YHkfv9a6AECifd6AOXw7gycgSc32 xD4lJMGD7o4Qsx7bQFoaLGZgFS6jbcZw0_mlAB9hI8zKg0Hma1AjblA3dkEBTNd0Bejl747C4mVx yJXXoQ4ctg.i3lqiHXpZ4K0xPhsi6nrCi6loCdgPEU0esr5TUY4P1um9NuRWuxGe_5985XRhrDQt dKWfBRM5QIKymd.zL171oN6QkafSaNSs_vQp2w8V6o092u3Ni7YJbkzcbe2WbtyXPYcZublM1GKO txBzPdA90lbyAXPOOmd0myQgwqm80aCPJ_.v1yYzv6 Original-Received: from sonic.gate.mail.ne1.yahoo.com by sonic313.consmr.mail.ir2.yahoo.com with HTTP; Sun, 26 Jul 2020 15:22:35 +0000 Original-Received: by smtp410.mail.ir2.yahoo.com (VZM Hermes SMTP Server) with ESMTPA ID 07dcf832b0977132837f91a3a54238ad; Sun, 26 Jul 2020 15:22:31 +0000 (UTC) Content-Language: en-US X-Mailer: WebService/1.1.16271 hermes_yahoo Apache-HttpAsyncClient/4.1.4 (Java/11.0.7) Received-SPF: pass client-ip=77.238.179.187; envelope-from=mardani29@yahoo.es; helo=sonic313-20.consmr.mail.ir2.yahoo.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/07/26 11:22:36 X-ACL-Warn: Detected OS = Linux 3.11 and newer [fuzzy] X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Sun, 26 Jul 2020 11:32:36 -0400 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 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-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:253258 Archived-At: This is a multi-part message in MIME format. --------------6594DCE98113DB6394641A41 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Hi, all: The other day I opened a compilation log from a recent version of Visual Studio in Emacs (Visual Studio 2019) and I noticed that Emacs doesn't highlight compilation errors from MSVC 2019 correctly. A simple recipe to reproduce the problem is: 1. emacs -Q 2. Paste the following text: C:\tmp\sample.cpp(101,11): error C4101: 'bias0123': unreferenced local variable [C:\tmp\libsample.vcxproj] C:\tmp\sample.cpp(101,21): error C4101: 'bias4567': unreferenced local variable [C:\tmp\libsample.vcxproj] 3. M-x compilation-minor-mode Expected behavior: Errors are highlighted and you can navigate them using compilation-next-error and compilation-previous-error. Actual behavior: Errors are not highlighted. The problem seems to happen because the regular expression for MSVC in compile.el doesn't take into account column numbers. Attached is a proposed patch to implement support for it. Thanks, Daniel Mart??n --------------6594DCE98113DB6394641A41 Content-Type: text/plain; charset=UTF-8; x-mac-type="0"; x-mac-creator="0"; name="0001-Add-support-for-parsing-column-numbers-in-Visual-Stu.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename*0="0001-Add-support-for-parsing-column-numbers-in-Visual-Stu.pa"; filename*1="tch" RnJvbSAwNWRiMjc4N2FlZTRhZDE1NTljZDVkNTg2N2Y4YWQzMGVjOTMyM2M0IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/RGFuaWVsPTIwTWFydD1DMz1BRG4/ PSA8bWFyZGFuaTI5QHlhaG9vLmVzPgpEYXRlOiBTdW4sIDI2IEp1bCAyMDIwIDE1OjI0OjU5 ICswMjAwClN1YmplY3Q6IFtQQVRDSF0gQWRkIHN1cHBvcnQgZm9yIHBhcnNpbmcgY29sdW1u IG51bWJlcnMgaW4gVmlzdWFsIFN0dWRpbwogbWVzc2FnZXMKCiogbGlzcC9wcm9nbW9kZXMv Y29tcGlsZS5lbCAoY29tcGlsYXRpb24tZXJyb3ItcmVnZXhwLWFsaXN0LWFsaXN0KToKRXh0 ZW5kIHJlZ3VsYXIgZXhwcmVzc2lvbiB0byBtYXRjaCBvcHRpb25hbCBjb2x1bW4gbnVtYmVy cy4KKgp0ZXN0L2xpc3AvcHJvZ21vZGVzL2NvbXBpbGUtdGVzdHMuZWwgKGNvbXBpbGUtdGVz dHMtLXRlc3QtcmVnZXhwcy1kYXRhKToKQWRkIGEgdGVzdC4KKiB0ZXN0L2xpc3AvcHJvZ21v ZGVzL2NvbXBpbGUtdGVzdHMuZWwgKGNvbXBpbGUtdGVzdC1lcnJvci1yZWdleHBzKToKVXBk YXRlIHRoZSB0b3RhbCBudW1iZXIgb2YgY29tcGlsYXRpb24gZXJyb3JzIGluIGEgdGVzdC4K KiBldGMvY29tcGlsYXRpb24udHh0OiBVcGRhdGUgY29tcGlsYXRpb24udHh0IHdpdGggdGhl IG5ld2x5IHN1cHBvcnRlZAptZXNzYWdlIGZvcm1hdC4KKiBldGMvTkVXUzogQWR2ZXJ0aXNl IHRoZSBmZWF0dXJlLgotLS0KIGV0Yy9ORVdTICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8IDMgKysrCiBldGMvY29tcGlsYXRpb24udHh0ICAgICAgICAgICAgICAgICAgfCAxICsK IGxpc3AvcHJvZ21vZGVzL2NvbXBpbGUuZWwgICAgICAgICAgICB8IDQgKystLQogdGVzdC9s aXNwL3Byb2dtb2Rlcy9jb21waWxlLXRlc3RzLmVsIHwgNCArKystCiA0IGZpbGVzIGNoYW5n ZWQsIDkgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9ldGMv TkVXUyBiL2V0Yy9ORVdTCmluZGV4IDY1MGI5NTg2N2YuLjk5YTdhODFmOTAgMTAwNjQ0Ci0t LSBhL2V0Yy9ORVdTCisrKyBiL2V0Yy9ORVdTCkBAIC0zODAsNiArMzgwLDkgQEAgY2FzZS1p bnNlbnNpdGl2ZSBtYXRjaGluZyBvZiBtZXNzYWdlcyB3aGVuIHRoZSBvbGQgYmVoYXZpb3Vy IGlzCiByZXF1aXJlZCwgYnV0IHRoZSByZWNvbW1lbmRlZCBzb2x1dGlvbiBpcyB0byB1c2Ug YSBjb3JyZWN0bHkgbWF0Y2hpbmcKIHJlZ2V4cCBpbnN0ZWFkLgogCistLS0KKyoqKiBNZXNz YWdlcyBmcm9tIFZpc3VhbCBTdHVkaW8gdGhhdCBtZW50aW9uIGNvbHVtbiBudW1iZXJzIGFy ZSBub3cgcmVjb2duaXplZC4KKwogKiogSGkgTG9jayBtb2RlCiAKIC0tLQpkaWZmIC0tZ2l0 IGEvZXRjL2NvbXBpbGF0aW9uLnR4dCBiL2V0Yy9jb21waWxhdGlvbi50eHQKaW5kZXggOGY3 ZTI5MDY3OC4uMTFhZWZjNmJjNiAxMDA2NDQKLS0tIGEvZXRjL2NvbXBpbGF0aW9uLnR4dAor KysgYi9ldGMvY29tcGlsYXRpb24udHh0CkBAIC0zODEsNiArMzgxLDcgQEAgbWFkZSBpdCBt b3JlIHN0cmljdCBhYm91dCB0aGUgZXJyb3IgbWVzc2FnZSB0aGF0IGZvbGxvd3MuCiBrZXli b2FyZCBoYW5kbGVyLmMoNTM3KSA6IHdhcm5pbmcgQzQwMDU6ICdtaW4nIDogbWFjcm8gcmVk ZWZpbml0aW9uCiBkOlx0bXBcdGVzdC5jKDIzKSA6IGVycm9yIEMyMTQzOiBzeW50YXggZXJy b3IgOiBtaXNzaW5nICc7JyBiZWZvcmUgJ2lmJwogZDpcdG1wXHRlc3QuYygxMTQ1KSA6IHNl ZSBkZWNsYXJhdGlvbiBvZiAnbnNSZWZQdHInCitjOlx0bXBcdGVzdC5jcHAoMTAxLDExKTog ZXJyb3IgQzQxMDE6ICdiaWFzMDEyMyc6IHVucmVmZXJlbmNlZCBsb2NhbCB2YXJpYWJsZSBb YzpcdG1wXHByb2plY3QudmN4cHJval0KIDE+dGVzdF9tYWluLmNwcCgyOSk6IGVycm9yIEMy MTQ0OiBzeW50YXggZXJyb3IgOiAnaW50JyBzaG91bGQgYmUgcHJlY2VkZWQgYnkgJzsnCiAx PnRlc3RfbWFpbi5jcHAoMjkpOiBlcnJvciBDNDQzMDogbWlzc2luZyB0eXBlIHNwZWNpZmll ciAtIGludCBhc3N1bWVkLiBOb3RlOiBDKysgZG9lcyBub3Qgc3VwcG9ydCBkZWZhdWx0LWlu dAogMT4KZGlmZiAtLWdpdCBhL2xpc3AvcHJvZ21vZGVzL2NvbXBpbGUuZWwgYi9saXNwL3By b2dtb2Rlcy9jb21waWxlLmVsCmluZGV4IGE3NmEzYzQ0YTMuLjUzMTU5NTc4NjggMTAwNjQ0 Ci0tLSBhL2xpc3AvcHJvZ21vZGVzL2NvbXBpbGUuZWwKKysrIGIvbGlzcC9wcm9nbW9kZXMv Y29tcGlsZS5lbApAQCAtMjIxLDkgKzIyMSw5IEBAIGNvbXBpbGF0aW9uLWVycm9yLXJlZ2V4 cC1hbGlzdC1hbGlzdAogICAgICA7OyBjb25zaWRlcmVkIGJlZm9yZSBFREcuCiAgICAgIDs7 IFRoZSBtZXNzYWdlIG1heSBiZSBhICJ3YXJuaW5nIiwgImVycm9yIiwgb3IgImZhdGFsIGVy cm9yIiB3aXRoCiAgICAgIDs7IGFuIGVycm9yIGNvZGUsIG9yICJzZWUgZGVjbGFyYXRpb24g b2YiIHdpdGhvdXQgYW4gZXJyb3IgY29kZS4KLSAgICAgIl4gKlxcKFswLTldKz5cXCk/XFwo XFwoPzpbYS16QS1aXTpcXCk/W14gOihcdFxuXVteOihcdFxuXSpcXCkoXFwoWzAtOV0rXFwp KSA/XAorICAgICAiXiAqXFwoWzAtOV0rPlxcKT9cXChcXCg/OlthLXpBLVpdOlxcKT9bXiA6 KFx0XG5dW146KFx0XG5dKlxcKShcXChbMC05XStcXClcXCg/OixcXChbMC05XStcXClcXCk/ KSA/XAogOiBcXCg/OnNlZSBkZWNsYXJhdGlvblxcfFxcKD86d2FybmluXFwoZ1xcKVxcfFth LXogXStcXCkgQ1swLTldKzpcXCkiCi0gICAgIDIgMyBuaWwgKDQpKQorICAgICAyIDMgNCAo NSkpCiAKICAgICAoZWRnLTEKICAgICAgIl5cXChbXiBcbl0rXFwpKFxcKFswLTldK1xcKSk6 IFxcKD86ZXJyb3JcXHx3YXJuaW5cXChnXFwpXFx8cmVtYXJcXChrXFwpXFwpIgpkaWZmIC0t Z2l0IGEvdGVzdC9saXNwL3Byb2dtb2Rlcy9jb21waWxlLXRlc3RzLmVsIGIvdGVzdC9saXNw L3Byb2dtb2Rlcy9jb21waWxlLXRlc3RzLmVsCmluZGV4IGNkNzM2NDk3ZTYuLjUwOWRiMzAw MGEgMTAwNjQ0Ci0tLSBhL3Rlc3QvbGlzcC9wcm9nbW9kZXMvY29tcGlsZS10ZXN0cy5lbAor KysgYi90ZXN0L2xpc3AvcHJvZ21vZGVzL2NvbXBpbGUtdGVzdHMuZWwKQEAgLTI2Nyw2ICsy NjcsOCBAQCBjb21waWxlLXRlc3RzLS10ZXN0LXJlZ2V4cHMtZGF0YQogICAgICAzIG5pbCAy OSAidGVzdF9tYWluLmNwcCIpCiAgICAgKCIxPnRlc3RfbWFpbi5jcHAoMjkpOiBlcnJvciBD NDQzMDogbWlzc2luZyB0eXBlIHNwZWNpZmllciAtIGludCBhc3N1bWVkLiBOb3RlOiBDKysg ZG9lcyBub3Qgc3VwcG9ydCBkZWZhdWx0LWludCIKICAgICAgMyBuaWwgMjkgInRlc3RfbWFp bi5jcHAiKQorICAgICgiQzpcXHRtcFxcdGVzdC5jcHAoMTAxLDExKTogZXJyb3IgQzQxMDE6 ICdiaWFzMDEyMyc6IHVucmVmZXJlbmNlZCBsb2NhbCB2YXJpYWJsZSBbQzpcXHRtcFxccHJv amVjdC52Y3hwcm9qXSIKKyAgICAgMSAxMSAxMDEgIkM6XFx0bXBcXHRlc3QuY3BwIikKICAg ICA7OyB3YXRjb20KICAgICAoIi4uXFxzcmNcXGN0cmxcXGxpc3Rlci5jKDEwOSk6IEVycm9y ISBFMTAwOTogRXhwZWN0aW5nICc7JyBidXQgZm91bmQgJ3snIgogICAgICAxIG5pbCAxMDkg Ii4uXFxzcmNcXGN0cmxcXGxpc3Rlci5jIikKQEAgLTQzNCw3ICs0MzYsNyBAQCBjb21waWxl LXRlc3QtZXJyb3ItcmVnZXhwcwogICAgICAgICAgIChjb21waWxhdGlvbi1udW0td2Fybmlu Z3MtZm91bmQgMCkKICAgICAgICAgICAoY29tcGlsYXRpb24tbnVtLWluZm9zLWZvdW5kIDAp KQogICAgICAgKG1hcGMgIydjb21waWxlLS10ZXN0LWVycm9yLWxpbmUgY29tcGlsZS10ZXN0 cy0tdGVzdC1yZWdleHBzLWRhdGEpCi0gICAgICAoc2hvdWxkIChlcSBjb21waWxhdGlvbi1u dW0tZXJyb3JzLWZvdW5kIDk0KSkKKyAgICAgIChzaG91bGQgKGVxIGNvbXBpbGF0aW9uLW51 bS1lcnJvcnMtZm91bmQgOTUpKQogICAgICAgKHNob3VsZCAoZXEgY29tcGlsYXRpb24tbnVt LXdhcm5pbmdzLWZvdW5kIDM3KSkKICAgICAgIChzaG91bGQgKGVxIGNvbXBpbGF0aW9uLW51 bS1pbmZvcy1mb3VuZCAyNikpKSkpCiAKLS0gCjIuMjUuMAoK --------------6594DCE98113DB6394641A41--