From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Gregory Heytings Newsgroups: gmane.emacs.bugs Subject: bug#1305: All code that currently beeps should use visual bell instead Date: Wed, 28 Apr 2021 13:12:59 +0000 Message-ID: References: <87blabpy54.fsf@gnus.org> <87lf9eo3mq.fsf@gnus.org> <0d7924a2-d09f-e2d0-f0e7-6b5ee3a7a7f2@yandex.ru> <192e82f20f5deb690394@heytings.org> <87zgxmjkr9.fsf@gnus.org> <874kfs3585.fsf@gnus.org> <87v987z53l.fsf@gnus.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="0YffYxNzKN" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="11185"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Alan Third , 1305@debbugs.gnu.org, Michael Welsh Duggan , jasonspiro4@gmail.com, Stefan Monnier , Dmitry Gutov , Lars Ingebrigtsen To: Stefan Kangas Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Wed Apr 28 15:14:12 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 1lbk15-0002mn-Ro for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 28 Apr 2021 15:14:12 +0200 Original-Received: from localhost ([::1]:50628 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lbk14-0005Dr-Tq for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 28 Apr 2021 09:14:10 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:46380) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lbk0w-0005BB-AU for bug-gnu-emacs@gnu.org; Wed, 28 Apr 2021 09:14:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:40492) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lbk0w-0006Zm-2o for bug-gnu-emacs@gnu.org; Wed, 28 Apr 2021 09:14:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lbk0v-0007VH-V5 for bug-gnu-emacs@gnu.org; Wed, 28 Apr 2021 09:14:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Gregory Heytings Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 28 Apr 2021 13:14:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 1305 X-GNU-PR-Package: emacs Original-Received: via spool by 1305-submit@debbugs.gnu.org id=B1305.161961558728772 (code B ref 1305); Wed, 28 Apr 2021 13:14:01 +0000 Original-Received: (at 1305) by debbugs.gnu.org; 28 Apr 2021 13:13:07 +0000 Original-Received: from localhost ([127.0.0.1]:52038 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lbk03-0007Tz-4d for submit@debbugs.gnu.org; Wed, 28 Apr 2021 09:13:07 -0400 Original-Received: from heytings.org ([95.142.160.155]:56698) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lbjzw-0007TV-WA for 1305@debbugs.gnu.org; Wed, 28 Apr 2021 09:13:05 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=heytings.org; s=20210101; t=1619615579; bh=QW2xrExOReuSM3VAuoFAaXZ8NyZanVGW2mtEzO31T78=; h=Date:From:To:cc:Subject:In-Reply-To:Message-ID:References:From; b=lwfhKLXxdFWLP22WAKIflhEfVjLECDFoRf9neqB1fPbMhogTxA3tNrcu94Dkd5zgO nekPYwb5z4x7OjqK5P4grV5lqBboogDqAFJT9aoUglWQV7rG0uzDjkZrqzI5eaWK7r oAe2CDxI4Et3hbxUDnaBgOYBbEuXKQDVEihHhEkN7d1zUzvbbY38CIM071zusayqCX VjSa46MQqkpxhvICl2vGKL8y0RBhiNDMx5CY0mLRAjpC6R370OIT6isuztB5eeRERf vp7vQQGE94aLyiB51aShL3C0NIgr+/SQ5BB0IEc1sGHvRxwSHfXcMPRMvy2g8qCQrr xlzHcUJRkV2hw== In-Reply-To: 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:205109 Archived-At: --0YffYxNzKN Content-Type: text/plain; format=flowed; charset=us-ascii >> So we'd change the default of the former to be a new visible bell >> function (for instance something that works the same as the visible >> bell on GNU/Linux systems, but across all systems (or one of the new >> proposed visible bell functions)), and deprecate `visible-bell'. I >> think that should be a pretty un-annoying way forward. > > Fully agreed; it's an improvement over my proposal. > > This is currently handled in different ways on different platforms, so I > we might want to clean that up a bit while we're at it. > Yes, the idea would be to have new predefined values for ring-bell-function: ring-bell-beep = the former visible-bell nil (when ring-bell-function was nil) ring-bell-visible = the former visible-bell t (when ring-bell-function was nil), whose behavior differs depending on the platform and a new prettier bell function, which would be the default. > > The main thing remaining, besides writing the actual patch, is to decide > what the visual bell should look like. I am currently running with > Gregory's patch for testing; it would useful if others carried out > similar experiments with one or more variations mentioned in this thread > Thank you. I recently improved the patch to handle the explicit 'ding' events more cleanly, see attached. In that case, because 'ding' is usually followed by 'message', there is a short delay between the flash and the message, but that seems unavoidable (or at least I do not see how it could be avoided). Note that the delay is already present with visible-bell t (and ring-bell-function nil). --0YffYxNzKN Content-Type: text/x-diff; name=New-default-bell.patch Content-Transfer-Encoding: base64 Content-ID: Content-Description: Content-Disposition: attachment; filename=New-default-bell.patch RnJvbSBkM2I2YmQ2OWNkNWU5MjgzZmEwYTQxODljZTdkMDFiY2I3NmU2NjU0 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQ0KRnJvbTogR3JlZ29yeSBIZXl0 aW5ncyA8Z3JlZ29yeUBoZXl0aW5ncy5vcmc+DQpEYXRlOiBXZWQsIDI4IEFw ciAyMDIxIDEyOjU1OjA3ICswMDAwDQpTdWJqZWN0OiBbUEFUQ0hdIE5ldyBk ZWZhdWx0IGJlbGwuDQoNCiogbGlzcC9zaW1wbGUuZWwgKHJpbmctYmVsbC1j b2xvcik6IE5ldyBkZWZhdWx0IGJlbGwsIHdoaWNoIGJyaWVmbHkgZmxhc2hl cw0KdGhlIGN1cnNvciBhbmQgdGhlIGVjaG8gYXJlYSB3aGVuIGFuIGVycm9y IG9jY3Vycy4NCihyaW5nLWJlbGwtY29sb3ItZWNoby1hcmVhLWZhY2UsIHJp bmctYmVsbC1jb2xvci1jdXJzb3ItZmFjZSk6IE5ldyBmYWNlcy4NCihyaW5n LWJlbGwtY29sb3ItaWdub3JlZC1lcnJvcnMsIHJpbmctYmVsbC1jb2xvci1k dXJhdGlvbik6IE5ldyB1c2VyIG9wdGlvbnMuDQoNCiogc3JjL2V2YWwuYyAo bGFzdC1lcnJvci1zeW1ib2wsIGxhc3QtZXJyb3ItZGF0YSk6IE5ldyB2YXJp YWJsZXMuDQooc2lnbmFsX29yX3F1aXQpOiBTZXQgdGhlIG5ldyB2YXJpYWJs ZXMuDQoNCiogc3JjL2Rpc3BuZXcuYyAoZGluZyk6IE5ldyB2YXJpYWJsZS4N CihkaW5nKTogU2V0IHRoZSBuZXcgdmFyaWFibGUuDQoNCiogbGlzcC9mYWNl LXJlbWFwLmVsIChmYWNlLXJlbWFwLXJlbW92ZS1yZWxhdGl2ZSwgYnVmZmVy LWZhY2UtbW9kZS1mYWNlLA0KdGV4dC1zY2FsZS1tb2RlLXN0ZXApOiBBdXRv bG9hZCB0aGVtLg0KDQoqIGV0Yy9ORVdTOiBEb2N1bWVudCB0aGUgY2hhbmdl Lg0KLS0tDQogZXRjL05FV1MgICAgICAgICAgIHwgMTAgKysrKysrDQogbGlz cC9mYWNlLXJlbWFwLmVsIHwgIDMgKysNCiBsaXNwL3NpbXBsZS5lbCAgICAg fCA4NCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrDQogc3JjL2Rpc3BuZXcuYyAgICAgIHwgIDggKysrKysNCiBzcmMv ZXZhbC5jICAgICAgICAgfCAxMSArKysrKysNCiA1IGZpbGVzIGNoYW5nZWQs IDExNiBpbnNlcnRpb25zKCspDQoNCmRpZmYgLS1naXQgYS9ldGMvTkVXUyBi L2V0Yy9ORVdTDQppbmRleCA5YmYyMzJhYzAyLi40ZjJhMGZlZGIzIDEwMDY0 NA0KLS0tIGEvZXRjL05FV1MNCisrKyBiL2V0Yy9ORVdTDQpAQCAtMjc2LDYg KzI3NiwxNiBAQCBjb21tYW5kcy4gIFRoZSBuZXcga2V5c3Ryb2tlcyBhcmUg J0MteCB4IGcnICgncmV2ZXJ0LWJ1ZmZlcicpLA0KICoqIENvbW1hbmRzICdz ZXQtZnJhbWUtd2lkdGgnIGFuZCAnc2V0LWZyYW1lLWhlaWdodCcgY2FuIG5v dyBnZXQgdGhlaXINCiBpbnB1dCB1c2luZyB0aGUgbWluaWJ1ZmZlci4NCiAN CisrKysNCisqKiBUaGUgZGVmYXVsdCB2YWx1ZSBvZiAncmluZy1iZWxsLWZ1 bmN0aW9uJyBpcyBub3cgbm9uLW5pbC4NCitXaGVuIGFuIGVycm9yIG9jY3Vy cywgRW1hY3Mgd2lsbCBieSBkZWZhdWx0IGJyaWVmbHkgZmxhc2ggdGhlIGN1 cnNvcg0KK2FuZCB0aGUgZWNobyBhcmVhLiAgVGhpcyBlZmZlY3QgY2FuIGJl IGN1c3RvbWl6ZWQgd2l0aCB0aGUgdXNlciBvcHRpb25zDQorcmluZy1iZWxs LWNvbG9yLWR1cmF0aW9uLCByaW5nLWJlbGwtY29sb3ItY3Vyc29yLWZhY2Us DQorcmluZy1iZWxsLWNvbG9yLWVjaG8tYXJlYS1mYWNlIGFuZCByaW5nLWJl bGwtY29sb3ItaWdub3JlZC1lcnJvcnMuDQorVG8gcmVzdG9yZSB0aGUgcHJl dmlvdXMgYmVoYXZpb3IsIGFkZCB0aGUgZm9sbG93aW5nIHRvIHlvdXIgaW5p dCBmaWxlOg0KKw0KKyhzZXRxIHJpbmctYmVsbC1mdW5jdGlvbiBuaWwpDQor DQogDA0KICogRWRpdGluZyBDaGFuZ2VzIGluIEVtYWNzIDI4LjENCiANCmRp ZmYgLS1naXQgYS9saXNwL2ZhY2UtcmVtYXAuZWwgYi9saXNwL2ZhY2UtcmVt YXAuZWwNCmluZGV4IDU5MTRlZTRhMjAuLmRmNGM1OTkxM2MgMTAwNjQ0DQot LS0gYS9saXNwL2ZhY2UtcmVtYXAuZWwNCisrKyBiL2xpc3AvZmFjZS1yZW1h cC5lbA0KQEAgLTE0Miw2ICsxNDIsNyBAQCBmYWNlLXJlbWFwLWFkZC1yZWxh dGl2ZQ0KICAgICAgIChmb3JjZS1tb2RlLWxpbmUtdXBkYXRlKSkNCiAgICAg KGNvbnMgZmFjZSBzcGVjcykpKQ0KIA0KKzs7OyMjI2F1dG9sb2FkDQogKGRl ZnVuIGZhY2UtcmVtYXAtcmVtb3ZlLXJlbGF0aXZlIChjb29raWUpDQogICAi UmVtb3ZlIGEgZmFjZSByZW1hcHBpbmcgcHJldmlvdXNseSBhZGRlZCBieSBg ZmFjZS1yZW1hcC1hZGQtcmVsYXRpdmUnLg0KIENPT0tJRSBzaG91bGQgYmUg dGhlIHJldHVybiB2YWx1ZSBmcm9tIHRoYXQgZnVuY3Rpb24uIg0KQEAgLTIx MCw2ICsyMTEsNyBAQCBmYWNlLXJlbWFwLXNldC1iYXNlDQogOzsgLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQ0KIDs7IHRleHQtc2NhbGUtbW9kZQ0KIA0KKzs7OyMj I2F1dG9sb2FkDQogKGRlZmN1c3RvbSB0ZXh0LXNjYWxlLW1vZGUtc3RlcCAx LjINCiAgICJTY2FsZSBmYWN0b3IgdXNlZCBieSBgdGV4dC1zY2FsZS1tb2Rl Jy4NCiBFYWNoIHBvc2l0aXZlIG9yIG5lZ2F0aXZlIHN0ZXAgc2NhbGVzIHRo ZSBkZWZhdWx0IGZhY2UgaGVpZ2h0IGJ5IHRoaXMgYW1vdW50LiINCkBAIC0z OTcsNiArMzk5LDcgQEAgdGV4dC1zY2FsZS1hZGp1c3QNCiA7OyAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tDQogOzsgYnVmZmVyLWZhY2UtbW9kZQ0KIA0KKzs7OyMj I2F1dG9sb2FkDQogKGRlZmN1c3RvbSBidWZmZXItZmFjZS1tb2RlLWZhY2Ug J3ZhcmlhYmxlLXBpdGNoDQogICAiVGhlIGZhY2Ugc3BlY2lmaWNhdGlvbiB1 c2VkIGJ5IGBidWZmZXItZmFjZS1tb2RlJy4NCiBJdCBtYXkgY29udGFpbiBh bnkgdmFsdWUgc3VpdGFibGUgZm9yIGEgYGZhY2UnIHRleHQgcHJvcGVydHks DQpkaWZmIC0tZ2l0IGEvbGlzcC9zaW1wbGUuZWwgYi9saXNwL3NpbXBsZS5l bA0KaW5kZXggMjZlYjhjYWQ3Zi4uODc0NTkzZDk1NyAxMDA2NDQNCi0tLSBh L2xpc3Avc2ltcGxlLmVsDQorKysgYi9saXNwL3NpbXBsZS5lbA0KQEAgLTg1 MTQsNyArODUxNCw5MSBAQCBwbGF5LXNvdW5kLWZpbGUNCiAJKHBsaXN0LXB1 dCBzb3VuZCA6ZGV2aWNlIGRldmljZSkpDQogICAgIChwdXNoICdzb3VuZCBz b3VuZCkNCiAgICAgKHBsYXktc291bmQgc291bmQpKSkNCisMDQorKGRlZmZh Y2UgcmluZy1iZWxsLWNvbG9yLWVjaG8tYXJlYS1mYWNlDQorICBgKCgoKHR5 cGUgdHR5KSkgKDppbmhlcml0IGVycm9yIDppbnZlcnNlLXZpZGVvIHQpKQ0K KyAgICAodCAoOmJhY2tncm91bmQgInllbGxvdzEiKSkpDQorICAiRmFjZSB1 c2VkIGJ5IGByaW5nLWJlbGwtY29sb3InIHRvIGZsYXNoIHRoZSBlY2hvIGFy ZWEgd2hlbiBhbiBlcnJvciBoYXBwZW5lZC4iDQorICA6dmVyc2lvbiAiMjgu MSIpDQorDQorKGRlZmZhY2UgcmluZy1iZWxsLWNvbG9yLWN1cnNvci1mYWNl DQorICBgKCh0ICg6aW5oZXJpdCBlcnJvcikpKQ0KKyAgIkZhY2UgdXNlZCBi eSBgcmluZy1iZWxsLWNvbG9yJyB0byBmbGFzaCB0aGUgY3Vyc29yIHdoZW4g YW4gZXJyb3IgaGFwcGVuZWQuDQorVGhlIGN1cnNvciBmbGFzaGVzIHdpdGgg dGhlIGZvcmVncm91bmQgY29sb3Igb2YgdGhhdCBmYWNlOyBpdCBkb2VzIG5v dA0KK2ZsYXNoIGluIHRlcm1pbmFscy4iDQorICA6dmVyc2lvbiAiMjguMSIp DQorDQorKGRlZmN1c3RvbSByaW5nLWJlbGwtY29sb3ItaWdub3JlZC1lcnJv cnMgbmlsDQorICAiTGlzdCBvZiBlcnJvcnMgc3ltYm9scyBpZ25vcmVkIGJ5 IGByaW5nLWJlbGwtY29sb3InLg0KK0Vycm9yIHN5bWJvbHMgdGhhdCBhcmUg cHJlc2VudCBpbiB0aGlzIGxpc3QgYXJlIGlnbm9yZWQgYnkgYHJpbmctYmVs bC1jb2xvcicsDQorYW5kIHRoZWlyIGVycm9yIG1lc3NhZ2VzIGFyZSBkaXNw bGF5ZWQgd2l0aG91dCBmbGFzaGluZyB0aGUgY3Vyc29yIGFuZCBlY2hvDQor YXJlYS4NCitGb3IgZXhhbXBsZSwgdGhlIHZhbHVlICcocXVpdCBiZWdpbm5p bmctb2YtYnVmZmVyIGVuZC1vZi1idWZmZXIpIGRpc2FibGVzDQorYHJpbmct YmVsbC1jb2xvcicgb24gXFxba2V5Ym9hcmQtcXVpdF0sIGFuZCBmb3IgYmVn aW5uaW5nIGFuZCBlbmQgb2YgYnVmZmVyIGVycm9ycy4NCitUbyBmaW5kIHRo ZSBzeW1ib2wgb2YgYW4gZXJyb3IsIHR5cGUgXFxbZXZhbC1leHByZXNzaW9u XSBsYXN0LWVycm9yLXN5bWJvbCBcDQorXFxbbmV3bGluZV0gaW1tZWRpYXRl bHkNCithZnRlciB0aGUgZXJyb3IgaGFwcGVuZWQsIHdpdGhvdXQgdXNpbmcg XFxbaW5kZW50LWZvci10YWItY29tbWFuZF0gZm9yIFwNCitjb21wbGV0aW9u LiINCisgIDp0eXBlICdsaXN0DQorICA6dmVyc2lvbiAiMjguMSIpDQorDQor KGRlZmN1c3RvbSByaW5nLWJlbGwtY29sb3ItZHVyYXRpb24gMC4yDQorICAi TWF4aW11bSBkdXJhdGlvbiBvZiB0aGUgYHJpbmctYmVsbC1jb2xvcicgZmxh c2gsIGluIHNlY29uZHMuDQorVGhlIGZsYXNoIHN0b3BzIGFmdGVyIHRoYXQg ZHVyYXRpb24sIG9yIHdoZW4gaW5wdXQgaXMgYXZhaWxhYmxlLCB3aGljaGV2 ZXINCitjb21lcyBmaXJzdC4iDQorICA6dHlwZSAnZmxvYXQNCisgIDp2ZXJz aW9uICIyOC4xIikNCisNCisoZGVmdmFyIHJpbmctYmVsbC1jb2xvci0tY3Vy c29yLWJhY2tncm91bmQgbmlsKQ0KKyhkZWZ2YXIgcmluZy1iZWxsLWNvbG9y LS1mYWNlLXJlbWFwcGluZyBuaWwpDQorDQorKGRlZnVuIHJpbmctYmVsbC1j b2xvciAoKQ0KKyAgIkZsYXNoIHRoZSBjdXJzb3IgYW5kIGVjaG8gYXJlYSB3 aXRoIGNvbG9ycyB3aGVuIGFuIGVycm9yIG9jY3Vycy4NCitUaGUgZmxhc2gg aXMgY29udHJvbGxlZCBieSB0aGUgdmFyaWFibGVzIGByaW5nLWJlbGwtY29s b3ItZHVyYXRpb24nIGFuZA0KK2ByaW5nLWJlbGwtY29sb3ItaWdub3JlZC1l cnJvcnMnLCBhbmQgYnkgdGhlIGZhY2VzDQorYHJpbmctYmVsbC1jb2xvci1j dXJzb3ItZmFjZScgYW5kIGByaW5nLWJlbGwtY29sb3ItZWNoby1hcmVhLWZh Y2UnLg0KK0luc2lkZSB0aGUgbWluaWJ1ZmZlciwgb25seSB0aGUgY3Vyc29y IGZsYXNoZXMsIGR1cmluZyBoYWxmIHRoZSBkdXJhdGlvbg0KK29mIGByaW5n LWJlbGwtY29sb3ItZHVyYXRpb24nLiINCisgICh1bmxlc3MgKG1lbXEgbGFz dC1lcnJvci1zeW1ib2wgcmluZy1iZWxsLWNvbG9yLWlnbm9yZWQtZXJyb3Jz KQ0KKyAgICAoaWYgKG5vdCAoZXEgKGZhY2UtYXR0cmlidXRlICdjdXJzb3Ig OmJhY2tncm91bmQpDQorICAgICAgICAgICAgICAgICByaW5nLWJlbGwtY29s b3ItLWN1cnNvci1iYWNrZ3JvdW5kKSkNCisgICAgICAgIChzZXRxIHJpbmct YmVsbC1jb2xvci0tY3Vyc29yLWJhY2tncm91bmQNCisgICAgICAgICAgICAg IChmYWNlLWF0dHJpYnV0ZSAnY3Vyc29yIDpiYWNrZ3JvdW5kKSkpDQorICAg IChzZXQtZmFjZS1hdHRyaWJ1dGUgJ2N1cnNvciBuaWwgOmJhY2tncm91bmQN CisgICAgICAgICAgICAgICAgICAgICAgICAoZmFjZS1hdHRyaWJ1dGUgJ3Jp bmctYmVsbC1jb2xvci1jdXJzb3ItZmFjZQ0KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCBuaWwgdCkpDQor ICAgIChsZXQqICgobWluaWJ1ZmZlciAod2luZG93LWJ1ZmZlciAobWluaWJ1 ZmZlci13aW5kb3cpKSkNCisgICAgICAgICAgIChpbnNpZGUtbWluaWJ1ZmZl ciAobWluaWJ1ZmZlcnAgKGN1cnJlbnQtYnVmZmVyKSkpDQorICAgICAgICAg ICAoYWN0aXZlLW1pbmlidWZmZXIgKD4gKG1pbmlidWZmZXItZGVwdGgpIDAp KQ0KKyAgICAgICAgICAgKGJ1ZmZlciAoaWYgKGFuZCBkaW5nIGFjdGl2ZS1t aW5pYnVmZmVyKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgbWluaWJ1ZmZl cg0KKyAgICAgICAgICAgICAgICAgICAgIChnZXQtYnVmZmVyICIgKkVjaG8g QXJlYSAwKiIpKSkpDQorICAgICAgKHVubGVzcyBpbnNpZGUtbWluaWJ1ZmZl cg0KKyAgICAgICAgKHdpdGgtY3VycmVudC1idWZmZXIgYnVmZmVyDQorICAg ICAgICAgICh3aGVuIHJpbmctYmVsbC1jb2xvci0tZmFjZS1yZW1hcHBpbmcN CisgICAgICAgICAgICAoZmFjZS1yZW1hcC1yZW1vdmUtcmVsYXRpdmUgcmlu Zy1iZWxsLWNvbG9yLS1mYWNlLXJlbWFwcGluZykpDQorICAgICAgICAgIChz ZXRxLWxvY2FsIHJpbmctYmVsbC1jb2xvci0tZmFjZS1yZW1hcHBpbmcNCisg ICAgICAgICAgICAgICAgICAgICAgKGZhY2UtcmVtYXAtYWRkLXJlbGF0aXZl DQorICAgICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdA0KKyAgICAgICAg ICAgICAgICAgICAgICAgJ3JpbmctYmVsbC1jb2xvci1lY2hvLWFyZWEtZmFj ZSkpKQ0KKyAgICAgICAgKGxldCAoKHNldC1tZXNzYWdlLWZ1bmN0aW9uIG5p bCkpDQorICAgICAgICAgIChtZXNzYWdlDQorICAgICAgICAgICAoaWYgZGlu ZyAiIg0KKyAgICAgICAgICAgICAoZXJyb3ItbWVzc2FnZS1zdHJpbmcNCisg ICAgICAgICAgICAgIChjb25zIGxhc3QtZXJyb3Itc3ltYm9sIGxhc3QtZXJy b3ItZGF0YSkpKSkpKQ0KKyAgICAgIChzaXQtZm9yIChpZiBpbnNpZGUtbWlu aWJ1ZmZlcg0KKyAgICAgICAgICAgICAgICAgICAoLyByaW5nLWJlbGwtY29s b3ItZHVyYXRpb24gMikNCisgICAgICAgICAgICAgICAgIHJpbmctYmVsbC1j b2xvci1kdXJhdGlvbikpDQorICAgICAgKGlmIHJpbmctYmVsbC1jb2xvci0t Y3Vyc29yLWJhY2tncm91bmQNCisgICAgICAgICAgKHNldC1mYWNlLWF0dHJp YnV0ZSAnY3Vyc29yIG5pbA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDpiYWNrZ3JvdW5kIHJpbmctYmVsbC1jb2xvci0tY3Vyc29yLWJhY2tn cm91bmQpKQ0KKyAgICAgICh1bmxlc3MgaW5zaWRlLW1pbmlidWZmZXINCisg ICAgICAgIChpZiAoYnVmZmVyLWxpdmUtcCBidWZmZXIpDQorICAgICAgICAg ICAgKHdpdGgtY3VycmVudC1idWZmZXIgYnVmZmVyDQorICAgICAgICAgICAg ICAoZmFjZS1yZW1hcC1yZW1vdmUtcmVsYXRpdmUgcmluZy1iZWxsLWNvbG9y LS1mYWNlLXJlbWFwcGluZykNCisgICAgICAgICAgICAgIChzZXRxIHJpbmct YmVsbC1jb2xvci0tZmFjZS1yZW1hcHBpbmcgbmlsKSkpKSkpKQ0KIA0KKyhz ZXRxIHJpbmctYmVsbC1mdW5jdGlvbiAjJ3JpbmctYmVsbC1jb2xvcikNCiAM DQogKGRlZmN1c3RvbSByZWFkLW1haWwtY29tbWFuZCAncm1haWwNCiAgICJZ b3VyIHByZWZlcmVuY2UgZm9yIGEgbWFpbCByZWFkaW5nIHBhY2thZ2UuDQpk aWZmIC0tZ2l0IGEvc3JjL2Rpc3BuZXcuYyBiL3NyYy9kaXNwbmV3LmMNCmlu ZGV4IGIzZjdiZTY3ZTAuLjM4ZDgyMzI4YjAgMTAwNjQ0DQotLS0gYS9zcmMv ZGlzcG5ldy5jDQorKysgYi9zcmMvZGlzcG5ldy5jDQpAQCAtNTk5NSw2ICs1 OTk1LDggQEAgREVGVU4gKCJkaW5nIiwgRmRpbmcsIFNkaW5nLCAwLCAxLCAw LA0KIHRlcm1pbmF0ZSBhbnkga2V5Ym9hcmQgbWFjcm8gY3VycmVudGx5IGV4 ZWN1dGluZy4gICovKQ0KICAgKExpc3BfT2JqZWN0IGFyZykNCiB7DQorICBW ZGluZyA9IDE7DQorDQogICBpZiAoIU5JTFAgKGFyZykpDQogICAgIHsNCiAg ICAgICBpZiAobm9uaW50ZXJhY3RpdmUpDQpAQCAtNjAwNSw2ICs2MDA3LDgg QEAgREVGVU4gKCJkaW5nIiwgRmRpbmcsIFNkaW5nLCAwLCAxLCAwLA0KICAg ZWxzZQ0KICAgICBiaXRjaF9hdF91c2VyICgpOw0KIA0KKyAgVmRpbmcgPSAw Ow0KKw0KICAgcmV0dXJuIFFuaWw7DQogfQ0KIA0KQEAgLTY2MjAsNiArNjYy NCwxMCBAQCBzeW1zX29mX2Rpc3BsYXkgKHZvaWQpDQogDQogU2VlIGFsc28g YHJpbmctYmVsbC1mdW5jdGlvbicuICAqLyk7DQogDQorICBERUZWQVJfQk9P TCAoImRpbmciLCBWZGluZywNCisJICAgICAgIGRvYzogLyogV2hldGhlciBg ZGluZycgaXMgYmVpbmcgZXhlY3V0ZWQuICAqLyk7DQorICBWZGluZyA9IDA7 DQorDQogICBERUZWQVJfQk9PTCAoIm5vLXJlZHJhdy1vbi1yZWVudGVyIiwg bm9fcmVkcmF3X29uX3JlZW50ZXIsDQogCSAgICAgICBkb2M6IC8qIE5vbi1u aWwgbWVhbnMgbm8gbmVlZCB0byByZWRyYXcgZW50aXJlIGZyYW1lIGFmdGVy IHN1c3BlbmRpbmcuDQogQSBub24tbmlsIHZhbHVlIGlzIHVzZWZ1bCBpZiB0 aGUgdGVybWluYWwgY2FuIGF1dG9tYXRpY2FsbHkgcHJlc2VydmUNCmRpZmYg LS1naXQgYS9zcmMvZXZhbC5jIGIvc3JjL2V2YWwuYw0KaW5kZXggYWVlZGNj NTBjYy4uMTJkNGQ0ZjlhZCAxMDA2NDQNCi0tLSBhL3NyYy9ldmFsLmMNCisr KyBiL3NyYy9ldmFsLmMNCkBAIC0xODA5LDYgKzE4MDksOSBAQCBzaWduYWxf b3JfcXVpdCAoTGlzcF9PYmplY3QgZXJyb3Jfc3ltYm9sLCBMaXNwX09iamVj dCBkYXRhLCBib29sIGtleWJvYXJkX3F1aXQpDQogI2VuZGlmDQogI2VuZGlm DQogDQorICBWbGFzdF9lcnJvcl9zeW1ib2wgPSByZWFsX2Vycm9yX3N5bWJv bDsNCisgIFZsYXN0X2Vycm9yX2RhdGEgPSAoTklMUCAoZXJyb3Jfc3ltYm9s KSA/IEZjZHIgKGRhdGEpIDogZGF0YSk7DQorDQogICAvKiBUaGlzIGhvb2sg aXMgdXNlZCBieSBlZGVidWcuICAqLw0KICAgaWYgKCEgTklMUCAoVnNpZ25h bF9ob29rX2Z1bmN0aW9uKQ0KICAgICAgICYmICEgTklMUCAoZXJyb3Jfc3lt Ym9sKQ0KQEAgLTQ0MzAsNiArNDQzMywxNCBAQCBzeW1zX29mX2V2YWwgKHZv aWQpDQogVGhlIEVkZWJ1ZyBwYWNrYWdlIHVzZXMgdGhpcyB0byByZWdhaW4g Y29udHJvbC4gICovKTsNCiAgIFZzaWduYWxfaG9va19mdW5jdGlvbiA9IFFu aWw7DQogDQorICBERUZWQVJfTElTUCAoImxhc3QtZXJyb3Itc3ltYm9sIiwg Vmxhc3RfZXJyb3Jfc3ltYm9sLA0KKwkgICAgICAgZG9jOiAvKiBTeW1ib2wg b2YgdGhlIGxhc3QgZXJyb3IuICAqLyk7DQorICBWbGFzdF9lcnJvcl9zeW1i b2wgPSBRbmlsOw0KKw0KKyAgREVGVkFSX0xJU1AgKCJsYXN0LWVycm9yLWRh dGEiLCBWbGFzdF9lcnJvcl9kYXRhLA0KKwkgICAgICAgZG9jOiAvKiBEYXRh IG9mIHRoZSBsYXN0IGVycm9yLiAgKi8pOw0KKyAgVmxhc3RfZXJyb3JfZGF0 YSA9IFFuaWw7DQorDQogICBERUZWQVJfTElTUCAoImRlYnVnLW9uLXNpZ25h bCIsIFZkZWJ1Z19vbl9zaWduYWwsDQogCSAgICAgICBkb2M6IC8qIE5vbi1u aWwgbWVhbnMgY2FsbCB0aGUgZGVidWdnZXIgcmVnYXJkbGVzcyBvZiBjb25k aXRpb24gaGFuZGxlcnMuDQogTm90ZSB0aGF0IGBkZWJ1Zy1vbi1lcnJvcics IGBkZWJ1Zy1vbi1xdWl0JyBhbmQgZnJpZW5kcw0KLS0gDQoyLjMwLjINCg0K --0YffYxNzKN--