From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Paul Eggert Newsgroups: gmane.emacs.devel Subject: Re: [Emacs-diffs] master 9ce1d38: Use curved quotes in core elisp diagnostics Date: Mon, 17 Aug 2015 16:55:41 -0700 Organization: UCLA Computer Science Department Message-ID: <55D2747D.10809@cs.ucla.edu> References: <20150816160149.9416.80132@vcs.savannah.gnu.org> <55D1043C.3030909@yandex.ru> <55D15899.2070105@cs.ucla.edu> <55D1C9CE.2060407@yandex.ru> <55D20EDF.5070906@cs.ucla.edu> <55D223CA.4080109@yandex.ru> <55D22A1F.8040508@cs.ucla.edu> <55D22CF4.9030608@yandex.ru> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------090004060907060009040104" X-Trace: ger.gmane.org 1439904325 906 80.91.229.3 (18 Aug 2015 13:25:25 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 18 Aug 2015 13:25:25 +0000 (UTC) To: Dmitry Gutov , emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Aug 18 15:25:17 2015 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1ZRgt5-0008WC-3P for ged-emacs-devel@m.gmane.org; Tue, 18 Aug 2015 15:25:11 +0200 Original-Received: from localhost ([::1]:34419 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZRa2j-0007MS-Gr for ged-emacs-devel@m.gmane.org; Tue, 18 Aug 2015 02:06:41 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:43227) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZRUFt-0006y3-EZ for emacs-devel@gnu.org; Mon, 17 Aug 2015 19:55:55 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZRUFo-0007VM-BQ for emacs-devel@gnu.org; Mon, 17 Aug 2015 19:55:53 -0400 Original-Received: from zimbra.cs.ucla.edu ([131.179.128.68]:51838) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZRUFn-0007VC-5O for emacs-devel@gnu.org; Mon, 17 Aug 2015 19:55:47 -0400 Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 40C631601BE; Mon, 17 Aug 2015 16:55:46 -0700 (PDT) Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id d3TrNbdPbQBO; Mon, 17 Aug 2015 16:55:45 -0700 (PDT) Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 11EEB160D7B; Mon, 17 Aug 2015 16:55:45 -0700 (PDT) X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id 189uEdicR4FD; Mon, 17 Aug 2015 16:55:44 -0700 (PDT) Original-Received: from [192.168.1.9] (pool-100-32-155-148.lsanca.fios.verizon.net [100.32.155.148]) by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id E27451601BE; Mon, 17 Aug 2015 16:55:44 -0700 (PDT) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.8.0 In-Reply-To: <55D22CF4.9030608@yandex.ru> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 131.179.128.68 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 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.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:188878 Archived-At: This is a multi-part message in MIME format. --------------090004060907060009040104 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable Dmitry Gutov wrote: >> It's a bit more complicated and it would not >> address all the uses of curved quotes in diagnostics, but it would >> address many of them. > > The other uses, which currently don't employ a formatting sequence, can= be > changed to use %qs as well. It'll just be less of a mechanical conversi= on. Do you mean replacing this sort of thing: (message "Press =E2=80=98?=E2=80=99 or =E2=80=98h=E2=80=99 for help, =E2= =80=98q=E2=80=99 to quit") with this? (message "Press %qs or %qs for help, %qs to quit" "?" "h" "q") If so, this doesn't sound like a good idea, as it would make the code har= der to=20 read. Also, it wouldn't suffice for code like this: (insert (symbol-name type) (format " is a type (of kind =E2=80=98")) (help-insert-xref-button (symbol-name metatype) 'cl-help-type metatype) (insert (format "=E2=80=99)")) which formats the matching quotes separately. Of course in general one c= ould=20 rewrite even the latter example to use %qs (if only to grab the quote cha= racters=20 out of the result string and reuse them individually!) but the rewritten = version=20 would be significantly harder to read and maintain. As we need to support formatting individual curved quotes anyway, there i= s an=20 argument for keeping it simple and omitting the attached patch for paired= =20 quotes. With all this in mind, do you still think the complexity of the=20 attached draft patch is a good idea? --------------090004060907060009040104 Content-Type: text/plain; charset=UTF-8; name="0001-New-q-flag-for-format.txt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0001-New-q-flag-for-format.txt" RnJvbSAzOWQwM2Q5NGY5NWUzY2NmMTQ4ZjM2Y2EzYmZjMWVlODVmNGRlYTIwIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QFBlbmd1aW4uQ1Mu VUNMQS5FRFU+CkRhdGU6IE1vbiwgMTcgQXVnIDIwMTUgMTY6MzU6MDYgLTA3MDAKU3ViamVj dDogW1BBVENIXSA9P1VURi04P3E/TmV3PTIwcT0yMGZsYWc9MjBmb3I9MjA9RTI9ODA9OThm b3JtYXQ9RTI9ODA9OTk/PQpNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQv cGxhaW47IGNoYXJzZXQ9VVRGLTgKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAoK KiBkb2MvbGlzcHJlZi9wcm9jZXNzZXMudGV4aSAoU2VudGluZWxzKToKRG9uJ3QgaGFyZHdp cmUgZ3JhdmUgcXVvdGluZyBzdHlsZSBpbiBleGFtcGxlLgoqIGRvYy9saXNwcmVmL3N0cmlu Z3MudGV4aSAoRm9ybWF0dGluZyBTdHJpbmdzKToKKiBldGMvTkVXUzoKRG9jdW1lbnQgbmV3 IHEgZmxhZy4KKiBzcmMvZWRpdGZucy5jIChGZm9ybWF0KTogSW1wbGVtZW50IGl0LgotLS0K IGRvYy9saXNwcmVmL3Byb2Nlc3Nlcy50ZXhpIHwgIDQgKy0tCiBkb2MvbGlzcHJlZi9zdHJp bmdzLnRleGkgICB8ICA5ICsrKystLQogZXRjL05FV1MgICAgICAgICAgICAgICAgICAgfCAx MyArKysrKy0tLQogc3JjL2VkaXRmbnMuYyAgICAgICAgICAgICAgfCA3OCArKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tCiA0IGZpbGVzIGNoYW5nZWQs IDg0IGluc2VydGlvbnMoKyksIDIwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RvYy9s aXNwcmVmL3Byb2Nlc3Nlcy50ZXhpIGIvZG9jL2xpc3ByZWYvcHJvY2Vzc2VzLnRleGkKaW5k ZXggMmJjNmExOC4uOThiM2RmYiAxMDA2NDQKLS0tIGEvZG9jL2xpc3ByZWYvcHJvY2Vzc2Vz LnRleGkKKysrIGIvZG9jL2xpc3ByZWYvcHJvY2Vzc2VzLnRleGkKQEAgLTE3MjAsMTMgKzE3 MjAsMTMgQEAgc2VudGluZWwsIHRoZSBldmVudHVhbCBjYWxsIHRvIHRoZSBzZW50aW5lbCB3 aWxsIHVzZSB0aGUgbmV3IG9uZS4KIEBncm91cAogKGRlZnVuIG1zZy1tZSAocHJvY2VzcyBl dmVudCkKICAgIChwcmluYwotICAgICAoZm9ybWF0ICJQcm9jZXNzOiAlcyBoYWQgdGhlIGV2 ZW50IGAlcyciIHByb2Nlc3MgZXZlbnQpKSkKKyAgICAgKGZvcm1hdCAiUHJvY2VzczogJXMg aGFkIHRoZSBldmVudCDigJglc+KAmSIgcHJvY2VzcyBldmVudCkpKQogKHNldC1wcm9jZXNz LXNlbnRpbmVsIChnZXQtcHJvY2VzcyAic2hlbGwiKSAnbXNnLW1lKQogICAgICBAcmVzdWx0 e30gbXNnLW1lCiBAZW5kIGdyb3VwCiBAZ3JvdXAKIChraWxsLXByb2Nlc3MgKGdldC1wcm9j ZXNzICJzaGVsbCIpKQotICAgICBAcHJpbnR7fSBQcm9jZXNzOiAjPHByb2Nlc3Mgc2hlbGw+ IGhhZCB0aGUgZXZlbnQgYGtpbGxlZCcKKyAgICAgQHByaW50e30gUHJvY2VzczogIzxwcm9j ZXNzIHNoZWxsPiBoYWQgdGhlIGV2ZW50IOKAmGtpbGxlZOKAmQogICAgICBAcmVzdWx0e30g Izxwcm9jZXNzIHNoZWxsPgogQGVuZCBncm91cAogQGVuZCBzbWFsbGV4YW1wbGUKZGlmZiAt LWdpdCBhL2RvYy9saXNwcmVmL3N0cmluZ3MudGV4aSBiL2RvYy9saXNwcmVmL3N0cmluZ3Mu dGV4aQppbmRleCAzMDkzMzM4Li44ZGUxNDczIDEwMDY0NAotLS0gYS9kb2MvbGlzcHJlZi9z dHJpbmdzLnRleGkKKysrIGIvZG9jL2xpc3ByZWYvc3RyaW5ncy50ZXhpCkBAIC05MzYsNyAr OTM2LDcgQEAgd2hlcmUgY3VydmVkIHNpbmdsZSBxdW90ZXMgc3RhbmQgZm9yIHRoZW1zZWx2 ZXM6CiAoZm9ybWF0ICJUaGUgbmFtZSBvZiB0aGlzIGJ1ZmZlciBpcyDigJglc+KAmS4iIChi dWZmZXItbmFtZSkpCiAgICAgIEByZXN1bHR7fSAiVGhlIG5hbWUgb2YgdGhpcyBidWZmZXIg aXMg4oCYc3RyaW5ncy50ZXhp4oCZLiIKIAotKGZvcm1hdCAiVGhlIGJ1ZmZlciBvYmplY3Qg cHJpbnRzIGFzIOKAmCVz4oCZLiIgKGN1cnJlbnQtYnVmZmVyKSkKKyhmb3JtYXQgIlRoZSBi dWZmZXIgb2JqZWN0IHByaW50cyBhcyAlcXMuIiAoY3VycmVudC1idWZmZXIpKQogICAgICBA cmVzdWx0e30gIlRoZSBidWZmZXIgb2JqZWN0IHByaW50cyBhcyDigJhzdHJpbmdzLnRleGni gJkuIgogCiAoZm9ybWF0ICJUaGUgb2N0YWwgdmFsdWUgb2YgJWQgaXMgJW8sCkBAIC0xMDEx LDEzICsxMDExLDE2IEBAIHNwZWNpZmllciwgaWYgYW55LCB0byBiZSBpbnNlcnRlZCBvbiB0 aGUgcmlnaHQgcmF0aGVyIHRoYW4gdGhlIGxlZnQuCiBJZiBib3RoIEBzYW1wey19IGFuZCBA c2FtcHswfSBhcmUgcHJlc2VudCwgdGhlIEBzYW1wezB9IGZsYWcgaXMKIGlnbm9yZWQuCiAK KyAgVGhlIGZsYWcgQHNhbXB7cX0gcXVvdGVzIHRoZSBwcmludGVkIHJlcHJlc2VudGF0aW9u IGFzIHBlciB0aGUKK3ZhcmlhYmxlIEBzYW1we3RleHQtcXVvdGluZy1zdHlsZX0gZGVzY3Jp YmVkIGJlbG93LgorCiBAZXhhbXBsZQogQGdyb3VwCiAoZm9ybWF0ICIlMDZkIGlzIHBhZGRl ZCBvbiB0aGUgbGVmdCB3aXRoIHplcm9zIiAxMjMpCiAgICAgIEByZXN1bHR7fSAiMDAwMTIz IGlzIHBhZGRlZCBvbiB0aGUgbGVmdCB3aXRoIHplcm9zIgogCi0oZm9ybWF0ICIlLTZkIGlz IHBhZGRlZCBvbiB0aGUgcmlnaHQiIDEyMykKLSAgICAgQHJlc3VsdHt9ICIxMjMgICAgaXMg cGFkZGVkIG9uIHRoZSByaWdodCIKKyhmb3JtYXQgIiVxLTZkIGlzIHBhZGRlZCBvbiB0aGUg cmlnaHQiIDEyMykKKyAgICAgQHJlc3VsdHt9ICLigJgxMjMgICDigJkgaXMgcGFkZGVkIG9u IHRoZSByaWdodCIKIAogKGZvcm1hdCAiVGhlIHdvcmQg4oCYJS03c+KAmSBhY3R1YWxseSBo YXMgJWQgbGV0dGVycyBpbiBpdC4iCiAgICAgICAgICJmb28iIChsZW5ndGggImZvbyIpKQpk aWZmIC0tZ2l0IGEvZXRjL05FV1MgYi9ldGMvTkVXUwppbmRleCBlYzNkMjVjLi42MDU4ZjIy IDEwMDY0NAotLS0gYS9ldGMvTkVXUworKysgYi9ldGMvTkVXUwpAQCAtOTEyLDEyICs5MTIs MTcgQEAgY3JlYXRlIGEgc3RyaW5nLCBhbmQgbWF5IHJldHVybiBpdHMgZmlyc3QgYXJndW1l bnQgaWYgdGhlIGFyZ3VtZW50CiBhbHJlYWR5IGhhcyB0aGUgY29ycmVjdCB2YWx1ZS4KIAog KysrCisqKiBOZXcg4oCYZm9ybWF04oCZIGZsYWcg4oCYceKAmQorVGhlIG5ldyDigJhx4oCZ IGZsYWcgY2F1c2VzIOKAmGZvcm1hdOKAmSB0byBxdW90ZSB0aGUgb3V0cHV0IHJlcHJlc2Vu dGF0aW9uIGFzCitwZXIgdGhlIHZhbHVlIG9mIOKAmHRleHQgcXVvdGluZy1zdHlsZeKAmS4g IEUuZy4sIChmb3JtYXQgIiVxcyBmYWlsZWQiCisiZm9vIikgbWlnaHQgcmV0dXJuICLigJhm b2/igJkgZmFpbGVkIi4KKworKysrCiAqKiBzdWJzdGl0dXRlLWNvbW1hbmQta2V5cyBub3cg cmVwbGFjZXMgcXVvdGVzLgogVGhhdCBpcywgaXQgY29udmVydHMgZG9jdW1lbnRhdGlvbiBz dHJpbmdzJyBxdW90aW5nIHN0eWxlIGFzIHBlciB0aGUKLXZhbHVlIG9mIOKAmHRleHQtcXVv dGluZy1zdHlsZeKAmSBhcyBkZXNjcmliZWQgYWJvdmUuICBEb2Mgc3RyaW5ncyBpbgotc291 cmNlIGNvZGUgY2FuIHVzZSBlaXRoZXIgY3VydmVkIHF1b3RlcyBvciBncmF2ZSBhY2NlbnQg YW5kCi1hcG9zdHJvcGhlLiAgQXMgYmVmb3JlLCBpc29sYXRlZCBhcG9zdHJvcGhlcyBhbmQg Y2hhcmFjdGVycyBwcmVjZWRlZAotYnkgXD0gYXJlIG91dHB1dCBhcy1pcy4KK3ZhbHVlIG9m IOKAmHRleHQtcXVvdGluZy1zdHlsZeKAmS4gIERvYyBzdHJpbmdzIGluIHNvdXJjZSBjb2Rl IGNhbiB1c2UKK2VpdGhlciBjdXJ2ZWQgcXVvdGVzIG9yIGdyYXZlIGFjY2VudCBhbmQgYXBv c3Ryb3BoZS4gIEFzIGJlZm9yZSwKK2lzb2xhdGVkIGFwb3N0cm9waGVzIGFuZCBjaGFyYWN0 ZXJzIHByZWNlZGVkIGJ5IFw9IGFyZSBvdXRwdXQgYXMtaXMuCiAKICsrKwogKiogVGhlIGNo YXJhY3RlciBjbGFzc2VzIFs6YWxwaGE6XSBhbmQgWzphbG51bTpdIGluIHJlZ3VsYXIgZXhw cmVzc2lvbnMKZGlmZiAtLWdpdCBhL3NyYy9lZGl0Zm5zLmMgYi9zcmMvZWRpdGZucy5jCmlu ZGV4IGVkNTdkOGEuLjBlMWIwYzggMTAwNjQ0Ci0tLSBhL3NyYy9lZGl0Zm5zLmMKKysrIGIv c3JjL2VkaXRmbnMuYwpAQCAtMzgyMiw3ICszODIyLDcgQEAgc3BlY2lmaWVycywgYXMgZm9s bG93czoKIAogICAlPGZsYWdzPjx3aWR0aD48cHJlY2lzaW9uPmNoYXJhY3RlcgogCi13aGVy ZSBmbGFncyBpcyBbKyAjLTBdKywgd2lkdGggaXMgWzAtOV0rLCBhbmQgcHJlY2lzaW9uIGlz IC5bMC05XSsKK3doZXJlIGZsYWdzIGlzIFsrICMtMHFdKywgd2lkdGggaXMgWzAtOV0rLCBh bmQgcHJlY2lzaW9uIGlzIC5bMC05XSsKIAogVGhlICsgZmxhZyBjaGFyYWN0ZXIgaW5zZXJ0 cyBhICsgYmVmb3JlIGFueSBwb3NpdGl2ZSBudW1iZXIsIHdoaWxlIGEKIHNwYWNlIGluc2Vy dHMgYSBzcGFjZSBiZWZvcmUgYW55IHBvc2l0aXZlIG51bWJlcjsgdGhlc2UgZmxhZ3Mgb25s eQpAQCAtMzgzNSw2ICszODM1LDkgQEAgVGhlICMgZmxhZyBtZWFucyB0byB1c2UgYW4gYWx0 ZXJuYXRlIGRpc3BsYXkgZm9ybSBmb3IgJW8sICV4LCAlWCwgJWUsCiBmb3IgJWUsICVmLCBh bmQgJWcsIGl0IGNhdXNlcyBhIGRlY2ltYWwgcG9pbnQgdG8gYmUgaW5jbHVkZWQgZXZlbiBp ZgogdGhlIHByZWNpc2lvbiBpcyB6ZXJvLgogCitUaGUgcSBmbGFnIG1lYW5zIHRvIHF1b3Rl IHRoZSBwcmludGVkIHJlcHJlc2VudGF0aW9uIGFzIHBlcgor4oCYdGV4dC1xdW90aW5nLXN0 eWxl4oCZLiAgRS5nLiwgIiVxcyIgaXMgZXF1aXZhbGVudCB0byAi4oCYJXPigJkiLgorCiBU aGUgd2lkdGggc3BlY2lmaWVyIHN1cHBsaWVzIGEgbG93ZXIgbGltaXQgZm9yIHRoZSBsZW5n dGggb2YgdGhlCiBwcmludGVkIHJlcHJlc2VudGF0aW9uLiAgVGhlIHBhZGRpbmcsIGlmIGFu eSwgbm9ybWFsbHkgZ29lcyBvbiB0aGUKIGxlZnQsIGJ1dCBpdCBnb2VzIG9uIHRoZSByaWdo dCBpZiB0aGUgLSBmbGFnIGlzIHByZXNlbnQuICBUaGUgcGFkZGluZwpAQCAtMzk3MywxMSAr Mzk3NiwxMiBAQCB1c2FnZTogKGZvcm1hdCBTVFJJTkcgJnJlc3QgT0JKRUNUUykgICovKQog CSAgICAgZGlnaXRzIHRvIHByaW50IGFmdGVyIHRoZSAnLicgZm9yIGZsb2F0cywgb3IgdGhl IG1heC4KIAkgICAgIG51bWJlciBvZiBjaGFycyB0byBwcmludCBmcm9tIGEgc3RyaW5nLiAg Ki8KIAotCSAgYm9vbCBtaW51c19mbGFnID0gMDsKLQkgIGJvb2wgIHBsdXNfZmxhZyA9IDA7 Ci0JICBib29sIHNwYWNlX2ZsYWcgPSAwOwotCSAgYm9vbCBzaGFycF9mbGFnID0gMDsKLQkg IGJvb2wgIHplcm9fZmxhZyA9IDA7CisJICBib29sIG1pbnVzX2ZsYWcgPSBmYWxzZTsKKwkg IGJvb2wgIHBsdXNfZmxhZyA9IGZhbHNlOworCSAgYm9vbCBzcGFjZV9mbGFnID0gZmFsc2U7 CisJICBib29sIHNoYXJwX2ZsYWcgPSBmYWxzZTsKKwkgIGJvb2wgIHplcm9fZmxhZyA9IGZh bHNlOworCSAgYm9vbCBxdW90ZV9mbGFnID0gZmFsc2U7CiAJICBwdHJkaWZmX3QgZmllbGRf d2lkdGg7CiAJICBib29sIHByZWNpc2lvbl9naXZlbjsKIAkgIHVpbnRtYXhfdCBwcmVjaXNp b24gPSBVSU5UTUFYX01BWDsKQEAgLTM5ODgsMTEgKzM5OTIsMTIgQEAgdXNhZ2U6IChmb3Jt YXQgU1RSSU5HICZyZXN0IE9CSkVDVFMpICAqLykKIAkgICAgewogCSAgICAgIHN3aXRjaCAo KisrZm9ybWF0KQogCQl7Ci0JCWNhc2UgJy0nOiBtaW51c19mbGFnID0gMTsgY29udGludWU7 Ci0JCWNhc2UgJysnOiAgcGx1c19mbGFnID0gMTsgY29udGludWU7Ci0JCWNhc2UgJyAnOiBz cGFjZV9mbGFnID0gMTsgY29udGludWU7Ci0JCWNhc2UgJyMnOiBzaGFycF9mbGFnID0gMTsg Y29udGludWU7Ci0JCWNhc2UgJzAnOiAgemVyb19mbGFnID0gMTsgY29udGludWU7CisJCWNh c2UgJy0nOiBtaW51c19mbGFnID0gdHJ1ZTsgY29udGludWU7CisJCWNhc2UgJysnOiAgcGx1 c19mbGFnID0gdHJ1ZTsgY29udGludWU7CisJCWNhc2UgJyAnOiBzcGFjZV9mbGFnID0gdHJ1 ZTsgY29udGludWU7CisJCWNhc2UgJyMnOiBzaGFycF9mbGFnID0gdHJ1ZTsgY29udGludWU7 CisJCWNhc2UgJzAnOiAgemVyb19mbGFnID0gdHJ1ZTsgY29udGludWU7CisJCWNhc2UgJ3En OiBxdW90ZV9mbGFnID0gdHJ1ZTsgY29udGludWU7CiAJCX0KIAkgICAgICBicmVhazsKIAkg ICAgfQpAQCAtNDEyMSw2ICs0MTI2LDIwIEBAIHVzYWdlOiAoZm9ybWF0IFNUUklORyAmcmVz dCBPQkpFQ1RTKSAgKi8pCiAJICAgICAgaWYgKGNvbnZieXRlcyAmJiBtdWx0aWJ5dGUgJiYg ISBTVFJJTkdfTVVMVElCWVRFIChhcmdzW25dKSkKIAkJY29udmJ5dGVzID0gY291bnRfc2l6 ZV9hc19tdWx0aWJ5dGUgKFNEQVRBIChhcmdzW25dKSwgbmJ5dGVzKTsKIAorCSAgICAgIGlm IChxdW90ZV9mbGFnKQorCQl7CisJCSAgY29udmJ5dGVzICs9IDI7CisJCSAgaWYgKHF1b3Rp bmdfc3R5bGUgPT0gQ1VSVkVfUVVPVElOR19TVFlMRSkKKwkJICAgIHsKKwkJICAgICAgaWYg KCFtdWx0aWJ5dGUpCisJCQl7CisJCQkgIG11bHRpYnl0ZSA9IHRydWU7CisJCQkgIGdvdG8g cmV0cnk7CisJCQl9CisJCSAgICAgIGNvbnZieXRlcyArPSA0OworCQkgICAgfQorCQl9CisK IAkgICAgICBwYWRkaW5nID0gd2lkdGggPCBmaWVsZF93aWR0aCA/IGZpZWxkX3dpZHRoIC0g d2lkdGggOiAwOwogCiAJICAgICAgaWYgKG1heF9idWZzaXplIC0gcGFkZGluZyA8PSBjb252 Ynl0ZXMpCkBAIC00MTI4LDYgKzQxNDcsMjcgQEAgdXNhZ2U6IChmb3JtYXQgU1RSSU5HICZy ZXN0IE9CSkVDVFMpICAqLykKIAkgICAgICBjb252Ynl0ZXMgKz0gcGFkZGluZzsKIAkgICAg ICBpZiAoY29udmJ5dGVzIDw9IGJ1ZiArIGJ1ZnNpemUgLSBwKQogCQl7CisKKwkJICBpZiAo cXVvdGVfZmxhZykKKwkJICAgIHsKKwkJICAgICAgc3dpdGNoIChxdW90aW5nX3N0eWxlKQor CQkJeworCQkJY2FzZSBDVVJWRV9RVU9USU5HX1NUWUxFOgorCQkJICBtZW1jcHkgKHAsIHVM U1FNLCAzKTsKKwkJCSAgcCArPSAzOworCQkJICBicmVhazsKKworCQkJY2FzZSBHUkFWRV9R VU9USU5HX1NUWUxFOgorCQkJICAqcCsrID0gJ2AnOworCQkJICBicmVhazsKKworCQkJY2Fz ZSBTVFJBSUdIVF9RVU9USU5HX1NUWUxFOgorCQkJICAqcCsrID0gJ1wnJzsKKwkJCSAgYnJl YWs7CisJCQl9CisJCSAgICAgIG5jaGFycysrOworCQkgICAgfQorCiAJCSAgaWYgKCEgbWlu dXNfZmxhZykKIAkJICAgIHsKIAkJICAgICAgbWVtc2V0IChwLCAnICcsIHBhZGRpbmcpOwpA QCAtNDE1Nyw2ICs0MTk3LDIyIEBAIHVzYWdlOiAoZm9ybWF0IFNUUklORyAmcmVzdCBPQkpF Q1RTKSAgKi8pCiAJCSAgICAgIG5jaGFycyArPSBwYWRkaW5nOwogCQkgICAgfQogCisJCSAg aWYgKHF1b3RlX2ZsYWcpCisJCSAgICB7CisJCSAgICAgIHN3aXRjaCAocXVvdGluZ19zdHls ZSkKKwkJCXsKKwkJCWNhc2UgQ1VSVkVfUVVPVElOR19TVFlMRToKKwkJCSAgbWVtY3B5IChw LCB1UlNRTSwgMyk7CisJCQkgIHAgKz0gMzsKKwkJCSAgYnJlYWs7CisKKwkJCWRlZmF1bHQ6 CisJCQkgICpwKysgPSAnXCcnOworCQkJICBicmVhazsKKwkJCX0KKwkJICAgICAgbmNoYXJz Kys7CisJCSAgICB9CisKIAkJICAvKiBJZiB0aGlzIGFyZ3VtZW50IGhhcyB0ZXh0IHByb3Bl cnRpZXMsIHJlY29yZCB3aGVyZQogCQkgICAgIGluIHRoZSByZXN1bHQgc3RyaW5nIGl0IGFw cGVhcnMuICAqLwogCQkgIGlmIChzdHJpbmdfaW50ZXJ2YWxzIChhcmdzW25dKSkKLS0gCjIu MS4wCgo= --------------090004060907060009040104--