From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Martin =?UTF-8?Q?Br=C3=BCstel?= Newsgroups: gmane.emacs.bugs Subject: bug#49562: 27.2; Crash with specific mode-line-format in BiDi processing Date: Thu, 15 Jul 2021 11:30:27 +0200 Message-ID: References: <83pmvk7lty.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=sha256; protocol="application/pkcs7-signature" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="27314"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 49562@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Thu Jul 15 11:31:24 2021 Return-path: Envelope-to: geb-bug-gnu-emacs@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 1m3xiG-0006u3-Aj for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 15 Jul 2021 11:31:24 +0200 Original-Received: from localhost ([::1]:42482 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1m3xiF-0007I3-6X for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 15 Jul 2021 05:31:23 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:57182) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m3xhu-0007Hr-Hk for bug-gnu-emacs@gnu.org; Thu, 15 Jul 2021 05:31:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:35305) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1m3xhu-0006Aa-8f for bug-gnu-emacs@gnu.org; Thu, 15 Jul 2021 05:31:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1m3xhu-0006nq-0S for bug-gnu-emacs@gnu.org; Thu, 15 Jul 2021 05:31:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Martin =?UTF-8?Q?Br=C3=BCstel?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 15 Jul 2021 09:31:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 49562 X-GNU-PR-Package: emacs Original-Received: via spool by 49562-submit@debbugs.gnu.org id=B49562.162634144925438 (code B ref 49562); Thu, 15 Jul 2021 09:31:01 +0000 Original-Received: (at 49562) by debbugs.gnu.org; 15 Jul 2021 09:30:49 +0000 Original-Received: from localhost ([127.0.0.1]:46851 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1m3xhg-0006bu-Kc for submit@debbugs.gnu.org; Thu, 15 Jul 2021 05:30:49 -0400 Original-Received: from mailout4.zih.tu-dresden.de ([141.30.67.75]:52630) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1m3xhe-0006UX-AW for 49562@debbugs.gnu.org; Thu, 15 Jul 2021 05:30:46 -0400 Original-Received: from [172.26.34.116] (helo=msx.tu-dresden.de) by mailout4.zih.tu-dresden.de with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1m3xhU-00GrLY-59; Thu, 15 Jul 2021 11:30:40 +0200 Original-Received: from localhost (192.168.166.144) by MSX-L316.msx.ad.zih.tu-dresden.de (172.26.34.116) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.2242.12; Thu, 15 Jul 2021 11:30:28 +0200 In-Reply-To: <83pmvk7lty.fsf@gnu.org> X-ClientProxiedBy: MSX-L106.msx.ad.zih.tu-dresden.de (172.26.34.106) To MSX-L316.msx.ad.zih.tu-dresden.de (172.26.34.116) X-PMWin-Version: 4.0.4, Antivirus-Engine: 3.82.1, Antivirus-Data: 5.85 X-TUD-Virus-Scanned: mailout4.zih.tu-dresden.de X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:210021 Archived-At: --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Eli Zaretskii writes: >> From: >> Date: Wed, 14 Jul 2021 18:40:57 +0200 >>=20 >> Emacs crashed when visiting specific pages in a browser using EXWM. >> Turns out this was triggered when the buffer was renamed accordingly. >> During redisplay, the crash happens for certain strings which are set as >> `mode-line-format`. I created an example to reproduce this with a stock >> Emacs configuration, see the attached elisp file. For me, this only >> triggers when the window is large enough, I suspect smaller windows will >> prevent the problematic part of the mode-line-format string to be >> processed. > > The "evil" mode-line string includes invalid use of bidi formatting > controls: you have there a U+202A LEFT-TO-RIGHT EMBEDDING without a > matching U+202C POP DIRECTIONAL FORMATTING. Removing the former or > adding the latter avoids the crash. Thanks for finding the cause! It turns out, the control chars are actually already in the window title of the browser window. The imbalance results from truncating the name to a certain length. Is there any built-in functionality to either 1. "sanitize" a string to remove bidi formatting in a sane way, or 2. have `substring` functionality that can somehow deal with these formatting controls, or 3. restore balance of a possibly broken bidi formatted string? =2D-=20 Martin Br=C3=BCstel Research Assistant TU Dresden, Processor Design Chair, Center for Advancing Electronics Dresde= n (cfaed) Tel: +49 351 43726 --=-=-= Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCEVYw ggUSMIID+qADAgECAgkA4wvV+K8l2YEwDQYJKoZIhvcNAQELBQAwgYIxCzAJBgNVBAYTAkRFMSsw KQYDVQQKDCJULVN5c3RlbXMgRW50ZXJwcmlzZSBTZXJ2aWNlcyBHbWJIMR8wHQYDVQQLDBZULVN5 c3RlbXMgVHJ1c3QgQ2VudGVyMSUwIwYDVQQDDBxULVRlbGVTZWMgR2xvYmFsUm9vdCBDbGFzcyAy MB4XDTE2MDIyMjEzMzgyMloXDTMxMDIyMjIzNTk1OVowgZUxCzAJBgNVBAYTAkRFMUUwQwYDVQQK EzxWZXJlaW4genVyIEZvZXJkZXJ1bmcgZWluZXMgRGV1dHNjaGVuIEZvcnNjaHVuZ3NuZXR6ZXMg ZS4gVi4xEDAOBgNVBAsTB0RGTi1QS0kxLTArBgNVBAMTJERGTi1WZXJlaW4gQ2VydGlmaWNhdGlv biBBdXRob3JpdHkgMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMtg1/9moUHN0vqH l4pzq5lN6mc5WqFggEcVToyVsuXPztNXS43O+FZsFVV2B+pG/cgDRWM+cNSrVICxI5y+NyipCf8F XRgPxJiZN7Mg9mZ4F4fCnQ7MSjLnFp2uDo0peQcAIFTcFV9Kltd4tjTTwXS1nem/wHdN6r1ZB+Ba L2w8pQDcNb1lDY9/Mm3yWmpLYgHurDg0WUU2SQXaeMpqbVvAgWsRzNI8qIv4cRrKO+KA3Ra0Z3qL NupOkSk9s1FcragMvp0049ENF4N1xDkesJQLEvHVaY4l9Lg9K7/AjsMeO6W/VRCrKq4Xl14zzsjz 9AkH4wKGMUZrAcUQDBHHWekCAwEAAaOCAXQwggFwMA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU k+PYMiba1fFKpZFK4OpL4qIMz+EwHwYDVR0jBBgwFoAUv1kgNgB5oKAia4zV8mHSuCzLgkowEgYD VR0TAQH/BAgwBgEB/wIBAjAzBgNVHSAELDAqMA8GDSsGAQQBga0hgiwBAQQwDQYLKwYBBAGBrSGC LB4wCAYGZ4EMAQICMEwGA1UdHwRFMEMwQaA/oD2GO2h0dHA6Ly9wa2kwMzM2LnRlbGVzZWMuZGUv cmwvVGVsZVNlY19HbG9iYWxSb290X0NsYXNzXzIuY3JsMIGGBggrBgEFBQcBAQR6MHgwLAYIKwYB BQUHMAGGIGh0dHA6Ly9vY3NwMDMzNi50ZWxlc2VjLmRlL29jc3ByMEgGCCsGAQUFBzAChjxodHRw Oi8vcGtpMDMzNi50ZWxlc2VjLmRlL2NydC9UZWxlU2VjX0dsb2JhbFJvb3RfQ2xhc3NfMi5jZXIw DQYJKoZIhvcNAQELBQADggEBAIcL/z4Cm2XIVi3WO5qYi3FP2ropqiH5Ri71sqQPrhE4eTizDnS6 dl2e6BiClmLbTDPo3flq3zK9LExHYFV/53RrtCyD2HlrtrdNUAtmB7Xts5et6u5/MOaZ/SLick0+ hFvu+c+Z6n/XUjkurJgARH5pO7917tALOxrN5fcPImxHhPalR6D90Bo0fa3SPXez7vTXTf/D6OWS T1k+kEcQSrCFWMBvf/iu7QhCnh7U3xQuTY+8npTD5+32GPg8SecmqKc22CzeIs2LgtjZeOJVEqM7 h0S2EQvVDFKvaYwPBt/QolOLV5h7z/0HJPT8vcP9SpIClxvyt7bPZYoaorVyGTkwggWWMIIEfqAD AgECAgwcbjQkPzrYLBvMkTUwDQYJKoZIhvcNAQELBQAwgZUxCzAJBgNVBAYTAkRFMUUwQwYDVQQK EzxWZXJlaW4genVyIEZvZXJkZXJ1bmcgZWluZXMgRGV1dHNjaGVuIEZvcnNjaHVuZ3NuZXR6ZXMg ZS4gVi4xEDAOBgNVBAsTB0RGTi1QS0kxLTArBgNVBAMTJERGTi1WZXJlaW4gQ2VydGlmaWNhdGlv biBBdXRob3JpdHkgMjAeFw0xNjEyMTIxNDM5MTZaFw0zMTAyMjIyMzU5NTlaMHMxCzAJBgNVBAYT AkRFMRAwDgYDVQQIDAdTYWNoc2VuMRAwDgYDVQQHDAdEcmVzZGVuMSgwJgYDVQQKDB9UZWNobmlz Y2hlIFVuaXZlcnNpdGFldCBEcmVzZGVuMRYwFAYDVQQDDA1UVSBEcmVzZGVuIENBMIIBIjANBgkq hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5+CCc42Y1+0J5tpASWPSYx/0Pxqj97P1DdzCbTh3Xwpp RsAMtqNwS8sTxgHMmbNAol18t3EqIkTH/iSXEhd5cf6OSyHumVbgvZTvjMh/c7R3VGZiwqimlhk4 /UJV8nVPvrL24GukD17Rsv+iLe5Mse7HIMJ7e9ciArdCBV5W6kk/5O24/ZhttIEs/2I3i8MTlGoB aesNgkUy/cRaA0hw1BBTrDbfK1vhbxV/CWb+czy0F0M5W31LToGrXuwoFrhggn5X/LrFXvCb8/9w +jSk8WzGvJw6MlPGXHwuTfjf7oei/S0j7iHq5fyIH3lEs58M4kwxlLViv2rc3KJkTX5xmQIDAQAB o4ICBTCCAgEwEgYDVR0TAQH/BAgwBgEB/wIBATAOBgNVHQ8BAf8EBAMCAQYwKQYDVR0gBCIwIDAN BgsrBgEEAYGtIYIsHjAPBg0rBgEEAYGtIYIsAQEEMB0GA1UdDgQWBBRS/r63JMIbCh1GUo5EJCr0 SEA9ATAfBgNVHSMEGDAWgBST49gyJtrV8UqlkUrg6kviogzP4TCBjwYDVR0fBIGHMIGEMECgPqA8 hjpodHRwOi8vY2RwMS5wY2EuZGZuLmRlL2dsb2JhbC1yb290LWcyLWNhL3B1Yi9jcmwvY2Fjcmwu Y3JsMECgPqA8hjpodHRwOi8vY2RwMi5wY2EuZGZuLmRlL2dsb2JhbC1yb290LWcyLWNhL3B1Yi9j cmwvY2FjcmwuY3JsMIHdBggrBgEFBQcBAQSB0DCBzTAzBggrBgEFBQcwAYYnaHR0cDovL29jc3Au cGNhLmRmbi5kZS9PQ1NQLVNlcnZlci9PQ1NQMEoGCCsGAQUFBzAChj5odHRwOi8vY2RwMS5wY2Eu ZGZuLmRlL2dsb2JhbC1yb290LWcyLWNhL3B1Yi9jYWNlcnQvY2FjZXJ0LmNydDBKBggrBgEFBQcw AoY+aHR0cDovL2NkcDIucGNhLmRmbi5kZS9nbG9iYWwtcm9vdC1nMi1jYS9wdWIvY2FjZXJ0L2Nh Y2VydC5jcnQwDQYJKoZIhvcNAQELBQADggEBAEzYRPywOGl/wZ/Mdz2gLDMbO39f7+iQcrVPRy/l bjjLt+0bouai8xTj1I9N+W4ZOhGww55gXMNOnBiKouODdNcazTxW6+glA4+5K9bxkAKu9kl9J2ez pcMw1PNTFFcS1yG+thGQTtuy+3S3fI6VIfxi+RawFri9sC7010qS3RwOShmhsLk3iEjlDQ180zkB zsdevWHt1svALpqsc+7DcHuP+MgYvkow/1uyHp3vyeTE9K7hdxcfXwRQ9IkeCo9xLJUeykuosqrT OQNe4Yw4hPhrJfRtoyH92SFqdeZenVeU6+rkquev61X3fPi+/ySpUOGyWPdggN65bQ81E8nLFYUw ggaiMIIFiqADAgECAgwkfT8e0jrVATV5XGMwDQYJKoZIhvcNAQELBQAwczELMAkGA1UEBhMCREUx EDAOBgNVBAgMB1NhY2hzZW4xEDAOBgNVBAcMB0RyZXNkZW4xKDAmBgNVBAoMH1RlY2huaXNjaGUg VW5pdmVyc2l0YWV0IERyZXNkZW4xFjAUBgNVBAMMDVRVIERyZXNkZW4gQ0EwHhcNMjEwMzI2MTEx MjE0WhcNMjQwMzI1MTExMjE0WjBRMQswCQYDVQQGEwJERTEoMCYGA1UECgwfVGVjaG5pc2NoZSBV bml2ZXJzaXRhZXQgRHJlc2RlbjEYMBYGA1UEAwwPTWFydGluIEJydWVzdGVsMIICIjANBgkqhkiG 9w0BAQEFAAOCAg8AMIICCgKCAgEAtqqMlOeqCJqv/PqpL6xlncxljJJydxpcaa6hyb/AzDl9jKo1 wTquya90UAjro9LtEtHM1VDdOQqOzMJVuqfIwvsElPsNrMhwTECY4vHOOwTq/w0Mhnaa6FvCObgH 7nSPkxJwLWErhZs5hnJuxPqnwZnnV9daLWUsqK6lqG3cyrsyYVSthSnecRGnzQppAnPM/TGwnZjE ktJZYmRUNzmE2dXDjGCcRQyzKzdvIxEoPDnvDBw0lNMDkFOGdfFuRgGLiL9tJg50eb7Q01vz6ReJ v+l6ItwCJ7qiK40oM845mw8dEmxM2jJg0HTmlw2L/o+RgA5ICNDWyWqVgYb+cqc2MYPEEmynPCI0 CmVFNAAf9gyBPIat5E45VhQzqpqgL4HkY6ewxCG7rUYW5ACB1ZW6Or9te3C5DDai6POonjPWobs2 /qBusvNSj9QEMXXsyd6r2Meisx4fZmAz3nxErE/D/rcr53pCSNYF1kxmWvnwG87yUidHWqtSm9WC MjidQ2K5JjtZfZ+b+Akrlw/f7B3fU+bL3oB3By9RDc86C2UuffZiuce1kHOLzjKRP247n4dUjSjE opr8h8XdaKj9U3PgbfunCW2QYgqHdyFYffIGTbdqLUn7lf1uOVk7PR/Li9pDtmbiODxMMtcR5hDh 0UsWaRtbm7Xc3DCU3ntF0hdgm5MCAwEAAaOCAlYwggJSMAkGA1UdEwQCMAAwDgYDVR0PAQH/BAQD AgXgMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDBDAdBgNVHQ4EFgQUVvwxD7Xor9KqibdX 9YS0Gf6T+04wHwYDVR0jBBgwFoAUUv6+tyTCGwodRlKORCQq9EhAPQEwKAYDVR0RBCEwH4EdbWFy dGluLmJydWVzdGVsQHR1LWRyZXNkZW4uZGUwgY0GA1UdHwSBhTCBgjA/oD2gO4Y5aHR0cDovL2Nk cDEucGNhLmRmbi5kZS90dS1kcmVzZGVuLWcyLWNhL3B1Yi9jcmwvY2FjcmwuY3JsMD+gPaA7hjlo dHRwOi8vY2RwMi5wY2EuZGZuLmRlL3R1LWRyZXNkZW4tZzItY2EvcHViL2NybC9jYWNybC5jcmww gdsGCCsGAQUFBwEBBIHOMIHLMDMGCCsGAQUFBzABhidodHRwOi8vb2NzcC5wY2EuZGZuLmRlL09D U1AtU2VydmVyL09DU1AwSQYIKwYBBQUHMAKGPWh0dHA6Ly9jZHAxLnBjYS5kZm4uZGUvdHUtZHJl c2Rlbi1nMi1jYS9wdWIvY2FjZXJ0L2NhY2VydC5jcnQwSQYIKwYBBQUHMAKGPWh0dHA6Ly9jZHAy LnBjYS5kZm4uZGUvdHUtZHJlc2Rlbi1nMi1jYS9wdWIvY2FjZXJ0L2NhY2VydC5jcnQwPgYDVR0g BDcwNTAPBg0rBgEEAYGtIYIsAQEEMBAGDisGAQQBga0hgiwBAQQIMBAGDisGAQQBga0hgiwCAQQI MA0GCSqGSIb3DQEBCwUAA4IBAQAZLyhQulzCKCTUqsfVeDX+uoQ4PVSCVsRnOoKlV4B0VNJxmrch SLG1eD+NMz4/CYa9CR6ZEE0dPBJM1DJ+Gt4jtgMLLhbWM8j2N4LKOS+O+Cq0GtwkhAMtT8EP9RaN Qaw6avOP79QWUNG6om0na8IUhxaxWzT0NccHsfSoUqNcOn0tBZsFwQvaFHpHrf4hIwdC0XwtA2sz eXJTKcDYbKZFCEpnXzn5xkfksElgEwjvOJPPkHF/GAZPB47uOSnF2TgqLJoHjdbvw+XICayq+oio Vt+7C2XSfAlYkJ8nEthURuUyIGdH4IWNfo86IjiTqgeZxktoXItvOG+QQk0/mNVyMYIDRTCCA0EC AQEwgYMwczELMAkGA1UEBhMCREUxEDAOBgNVBAgMB1NhY2hzZW4xEDAOBgNVBAcMB0RyZXNkZW4x KDAmBgNVBAoMH1RlY2huaXNjaGUgVW5pdmVyc2l0YWV0IERyZXNkZW4xFjAUBgNVBAMMDVRVIERy ZXNkZW4gQ0ECDCR9Px7SOtUBNXlcYzANBglghkgBZQMEAgEFAKCBkzAYBgkqhkiG9w0BCQMxCwYJ KoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0yMTA3MTUwOTMwMjdaMCgGCSqGSIb3DQEJDzEbMBkw CwYJYIZIAWUDBAECMAoGCCqGSIb3DQMHMC8GCSqGSIb3DQEJBDEiBCA32+Fg4fMKV7egR+jI1Apg LPlYpLIBTAxH1kp8lXv0tjANBgkqhkiG9w0BAQEFAASCAgAdIPtDFx8q5/xd/xLMlfg1nqYMIoOy a23GGYHHxk9GG51jTBgJHlGwL+aHIF/71Nt/ZOpJtZ1yFfu5MWVzkGauHoI61VierXkwnwih/R8n kCrlmYnzwuXbsvvyhJm3zXShxNDs4g5GypzMvrmMwZsRBEnhlf6Y9il5jvsvMvzbhmxnByph6BBj 5LBNPCKIm/HoBfFtncAX/iohCISVrb+O5Xqs1CzDH+0kQn4XtavcDruFprPquNqWWAYNzilR3sZ/ 1NPVcqFS/eiNuG4yi0qIAH1Dr8Bg5YOQAU6TO2j7euJQRiNWgq7cfeVwdsHV1aNe4tdsdvY3heoo mVMoMlR6Lj6W/emIqtXISH47MMDhIoYnweuWtTvrE+96EYRU3wu65qToCrj0xdDjT5I7Mi3lkH2J Kk9wx0j7SIhlrIyzb2wZsRk1SZCnlEoFhR9Ni8iilC5XsNde4U6G0weTsmgBKtzfE3M8MqeUa72x IJjeRVWUBOkoWo8fTqTb8AMDTz7q5Ijg0mc2vAjiYHBLV1nwMiJaAXX9gurvAJAeQrD4S2lFipJv HghyMYRWrdx176ukEgiWEBgvT27KWXEJhGJB+1LxxNjfxf0bmcpuZEHOXKK5sIrTJ5szi76yobLB LayIKTbEq+oaEElGm4nnudMHbAoBmk7UfgvBZcU/6mCelgAAAAAAAA== --=-=-=--