From debbugs-submit-bounces@debbugs.gnu.org Mon Jun 22 05:16:54 2015 Received: (at submit) by debbugs.gnu.org; 22 Jun 2015 09:16:55 +0000 Received: from localhost ([127.0.0.1]:53860 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z6xqX-0002Gu-LI for submit@debbugs.gnu.org; Mon, 22 Jun 2015 05:16:54 -0400 Received: from eggs.gnu.org ([208.118.235.92]:60631) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z6xqU-0002Gg-ML for submit@debbugs.gnu.org; Mon, 22 Jun 2015 05:16:51 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z6xqL-000335-Cw for submit@debbugs.gnu.org; Mon, 22 Jun 2015 05:16:45 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: *** X-Spam-Status: No, score=3.3 required=5.0 tests=BAYES_50,FREEMAIL_FROM, RECEIVED_FROM_WINDOWS_HOST autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:60841) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z6xqL-00032J-9b for submit@debbugs.gnu.org; Mon, 22 Jun 2015 05:16:41 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:43312) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z6xiD-00009R-6t for bug-gnu-emacs@gnu.org; Mon, 22 Jun 2015 05:08:18 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z6xiA-0007Q4-0l for bug-gnu-emacs@gnu.org; Mon, 22 Jun 2015 05:08:17 -0400 Received: from dub004-omc1s26.hotmail.com ([157.55.0.225]:50720) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z6xi9-0007Pu-Oo for bug-gnu-emacs@gnu.org; Mon, 22 Jun 2015 05:08:13 -0400 Received: from DUB124-W30 ([157.55.0.237]) by DUB004-OMC1S26.hotmail.com over TLS secured channel with Microsoft SMTPSVC(7.5.7601.22751); Mon, 22 Jun 2015 02:08:13 -0700 X-TMN: [dS0oNLISIMhScGpR1w+bYlTXZfRJvJyO] X-Originating-Email: [juergen_hartmann_@hotmail.com] Message-ID: From: =?iso-8859-1?B?SvxyZ2VuIEhhcnRtYW5u?= To: "bug-gnu-emacs@gnu.org" Subject: 24.5; Options presented in ispell *Choices* should be accessible via keyboard Date: Mon, 22 Jun 2015 11:08:12 +0200 Importance: Normal Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginalArrivalTime: 22 Jun 2015 09:08:13.0238 (UTC) FILETIME=[F7AC4D60:01D0ACCA] X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.0 (----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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: -4.0 (----) When ispell offers more than 67 options in its buffer *Choices*=2C it uses = keys=0A= like ^? or \200 that are hard (or impossible) to enter via keyboard. Here i= s=0A= an example of the *Choices* content in such a case=2C where Hunspell and a= =0A= German alternate dictionary was used to complete the word "Abf":=0A= =0A= ---------------------------------------------------------------------------= --=0A= (0) Abf=E4lle=A0 (1) Abf=E4llen=A0 (2) Abfahrt=A0 (3) Abfahrten=A0 (4) Abfa= hrtsh=E4nge=0A= (5) Abfahrtsh=E4ngen=A0 (6) Abfahrtshang=A0 (7) Abfahrtsl=E4ufer=0A= (8) Abfahrtsl=E4uferin=A0 (9) Abfahrtsl=E4uferinnen=A0 (:) Abfahrtsl=E4ufer= n=0A= (=3B) Abfahrtsrennen=A0 (<) Abfahrtsstelle=A0 (=3D) Abfahrtsstellen=0A= (>) Abfahrtsstrecke=A0 (@) Abfahrtsstrecken=A0 (B) Abfall=A0 (C) Abfalls=0A= (D) Abfallaufbereitung=A0 (E) Abfalleimer=A0 (F) Abfalleimern=0A= (G) Abfallgraben=A0 (H) Abfallkurve=A0 (I) Abfallkurven=A0 (J) Abfallpapier= =0A= (K) Abfallpapiers=A0 (L) Abfallprodukt=A0 (M) Abfallprodukten=0A= (N) Abfallprodukts=A0 (O) Abfallproduktes=A0 (P) Abfallstoffe=0A= (Q) Abfallstoffen=A0 (S) Abfangj=E4ger=A0 (T) Abfangj=E4gern=A0 (U) Abfangj= =E4gers=0A= (V) Abfangrakete=A0 (W) Abfangraketen=A0 (Y) Abfassung=A0 (Z) Abfassungen= =0A= ([) Abfertigung=A0 (\) Abfertigungen=A0 (]) Abfertigungsschalter=0A= (^) Abfertigungsschaltern=A0 (_) Abfertigungsschalters=0A= (`) Abfertigungsstelle=A0 (b) Abfertigungsstellen=A0 (c) Abfindung=0A= (d) Abfindungen=A0 (e) Abflachung=A0 (f) Abflachungen=A0 (g) Abfl=FCge=0A= (h) Abfl=FCgen=A0 (j) Abfl=FCsse=A0 (k) Abfl=FCssen=A0 (n) Abflug=A0 (o) Ab= flugs=0A= (p) Abflugflughafen=A0 (s) Abflugland=A0 (t) Abflu=DF=A0 (v) Abflusses=0A= (w) Abf=F6rdermenge=A0 (y) Abf=F6rdermengen=A0 (z) Abfolge=A0 ({) Abfolgen= =0A= (|) Abfragesprache=A0 (}) Abfragesprachen=A0 (~) Abf=FChrmittel=0A= (^?) Abf=FChrmitteln=A0 (\200) Abf=FChrmittels=A0 (\201) Abf=FChrung=0A= (\202) Abf=FCllanlage=A0 (\203) Abf=FCllanlagen=A0 (\204) Abf=FCllfiliale= =0A= (\205) Abf=FCllfilialen=A0 (\206) Abf=FCllstation=A0 (\207) Abf=FCllstation= en=0A= (\210) Abfuhr=A0 (\211) Abfuhren=0A= ---------------------------------------------------------------------------= --=0A= =0A= It is not straight forward to reproduce this example=2C since it depends on= =0A= the chosen dictionary. But we can do it in laboratory conditions=2C if we= =0A= generate an artificial dictionary.=0A= =0A= For that=2C just redirect the output of the following shell script to a fil= e=0A= that we call /tmp/dict:=0A= =0A= ---------------------------------------------------------------------------= --=0A= #!/bin/sh=0A= =0A= letters=3D"a b c d e f g h i"=0A= =0A= for i in $letters=3B do=0A= =A0=A0=A0 for j in $letters=3B do=0A= =A0=A0 =A0echo "aaa$i$j"=0A= =A0=A0=A0 done=0A= done=0A= ---------------------------------------------------------------------------= --=0A= =0A= With that we can go to Emacs:=0A= =0A= * Open Emacs 24.5 via=0A= =0A= =A0=A0=A0=A0 LC_ALL=3DC ./emacs -Q=0A= =0A= * Load the ispell library: M-x load-library RET ispell RET=0A= =0A= * Open customization buffer for variable ispell-alternate-dictionary:=0A= =A0 M-x customize-variable RET ispell-alternate-dictionary RET=0A= =0A= * Enter /tmp/dict as the variable's value and accept it for the current=0A= =A0 session. (Remember: /tmp/dict is the dictionary that we just generated.= )=0A= =0A= * Make a new Buffer and call it "text": C-x b RET text RET=0A= =0A= * Change major mode of this buffer to text-mode.=0A= =0A= * Enter "aaa" (without quotes) in the first line of the buffer text.=0A= =0A= * With point immediately after the third letter a=2C start ispell-complete-= word=0A= =A0 by C-M-i.=0A= =0A= This should bring you a *Choices* buffer with a contents like that:=0A= =0A= ------------------------------------------------------------=0A= (0) aaaaa=A0 (1) aaaab=A0 (2) aaaac=A0 (3) aaaad=A0 (4) aaaae=0A= (5) aaaaf=A0 (6) aaaag=A0 (7) aaaah=A0 (8) aaaai=A0 (9) aaaba=0A= (:) aaabb=A0 (=3B) aaabc=A0 (<) aaabd=A0 (=3D) aaabe=A0 (>) aaabf=0A= (@) aaabg=A0 (B) aaabh=A0 (C) aaabi=A0 (D) aaaca=A0 (E) aaacb=0A= (F) aaacc=A0 (G) aaacd=A0 (H) aaace=A0 (I) aaacf=A0 (J) aaacg=0A= (K) aaach=A0 (L) aaaci=A0 (M) aaada=A0 (N) aaadb=A0 (O) aaadc=0A= (P) aaadd=A0 (Q) aaade=A0 (S) aaadf=A0 (T) aaadg=A0 (U) aaadh=0A= (V) aaadi=A0 (W) aaaea=A0 (Y) aaaeb=A0 (Z) aaaec=A0 ([) aaaed=0A= (\) aaaee=A0 (]) aaaef=A0 (^) aaaeg=A0 (_) aaaeh=A0 (`) aaaei=0A= (b) aaafa=A0 (c) aaafb=A0 (d) aaafc=A0 (e) aaafd=A0 (f) aaafe=0A= (g) aaaff=A0 (h) aaafg=A0 (j) aaafh=A0 (k) aaafi=A0 (n) aaaga=0A= (o) aaagb=A0 (p) aaagc=A0 (s) aaagd=A0 (t) aaage=A0 (v) aaagf=0A= (w) aaagg=A0 (y) aaagh=A0 (z) aaagi=A0 ({) aaaha=A0 (|) aaahb=0A= (}) aaahc=A0 (~) aaahd=A0 (^?) aaahe=A0 (\200) aaahf=A0 (\201) aaahg=0A= (\202) aaahh=A0 (\203) aaahi=A0 (\204) aaaia=A0 (\205) aaaib=0A= (\206) aaaic=A0 (\207) aaaid=A0 (\210) aaaie=A0 (\211) aaaif=0A= (\212) aaaig=A0 (\213) aaaih=A0 (\214) aaaii=0A= ------------------------------------------------------------=0A= =0A= which shows the problem.=0A= =0A= Juergen=0A= =0A= = From debbugs-submit-bounces@debbugs.gnu.org Sat Jun 27 06:36:23 2015 Received: (at 20870) by debbugs.gnu.org; 27 Jun 2015 10:36:23 +0000 Received: from localhost ([127.0.0.1]:58775 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z8nTC-0007mM-BM for submit@debbugs.gnu.org; Sat, 27 Jun 2015 06:36:23 -0400 Received: from dub004-omc1s32.hotmail.com ([157.55.0.231]:54515) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z8nT9-0007m8-F4 for 20870@debbugs.gnu.org; Sat, 27 Jun 2015 06:36:20 -0400 Received: from DUB124-W5 ([157.55.0.237]) by DUB004-OMC1S32.hotmail.com over TLS secured channel with Microsoft SMTPSVC(7.5.7601.22751); Sat, 27 Jun 2015 03:36:13 -0700 X-TMN: [HayO25fjsnym4Cio3OLUIMK90BOkigZD] X-Originating-Email: [juergen_hartmann_@hotmail.com] Message-ID: Content-Type: multipart/mixed; boundary="_881061c9-6ce0-4a20-b430-b6f11cd60f04_" From: =?iso-8859-1?B?SvxyZ2VuIEhhcnRtYW5u?= To: "20870@debbugs.gnu.org" <20870@debbugs.gnu.org> Subject: RE: bug#20870: 24.5; [PATCH] Options presented in ispell *Choices* should be accessible via keyboard Date: Sat, 27 Jun 2015 12:36:13 +0200 Importance: Normal In-Reply-To: References: MIME-Version: 1.0 X-OriginalArrivalTime: 27 Jun 2015 10:36:13.0627 (UTC) FILETIME=[171878B0:01D0B0C5] X-Spam-Score: -1.4 (-) X-Debbugs-Envelope-To: 20870 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.4 (-) --_881061c9-6ce0-4a20-b430-b6f11cd60f04_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable The attached patch tries to offer a workaround for this bug and to provide = a=0A= feature that was asked for by Emanuel Berg in=0A= =0A= =A0=A0 http://lists.gnu.org/archive/html/help-gnu-emacs/2015-06/msg00363.ht= ml=0A= =0A= i.e. that Ispell uses certain keys in a certain order for the offers in its= =0A= *Choices* buffer.=0A= =0A= Therefore=2C the idea is to use a customizable variable to hold a vector of= key=0A= specifications that are used by ispell-command-loop in the given order to= =0A= assemble its options.=0A= =0A= The patch alters ispell-command-loop accordingly introducing=0A= ispell-option-keys as that customizable variable. Its default value is chos= en=0A= such=2C that the first keys in the vector are digits and lowercase letters= =2C=0A= since these are directly accessible on most keyboards without using any=0A= modifiers.=0A= =0A= As a minor detail the patch defines the inline function ispell-insert-choic= es=0A= to hold some code that is used repetitively in ispell-command-loop.=0A= =0A= The patch applies to the version of ispell.el that was shipped with the Ema= cs=0A= 24.4 release. And that is also the Emacs version the patch was tested on.= =0A= =0A= Juergen=0A= =0A= = --_881061c9-6ce0-4a20-b430-b6f11cd60f04_ Content-Type: application/octet-stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="choices-patch.patch" LS0tIGlzcGVsbC5lbF9vcmlnaW5hbAkyMDE0LTAzLTIxIDA2OjM0OjQwLjAwMDAwMDAwMCArMDEw MAorKysgaXNwZWxsLmVsX2NoYW5nZWQJMjAxNS0wNi0yNyAxMjoxNjo0OS4zMzU3NDAxNTEgKzAy MDAKQEAgLTIxOTYsNiArMjE5Niw2MiBAQAogICAoc2V0cSBpc3BlbGwtcGRpY3QtbW9kaWZpZWQt cCBuaWwpKQogCiAKKyhkZWZjdXN0b20gaXNwZWxsLW9wdGlvbi1rZXlzCisgIFsiMCIgIjEiICIy IiAiMyIgIjQiICI1IiAiNiIgIjciICI4IiAiOSIgImIiICJjIiAiZCIgImUiICJmIiAiZyIgImgi ICJqIgorICAgImsiICJuIiAibyIgInAiICJzIiAidCIgInYiICJ3IiAieSIgInoiICI8IiAiXiIg IkIiICJDIiAiRCIgIkUiICJGIiAiRyIKKyAgICJIIiAiSSIgIkoiICJLIiAiTCIgIk0iICJOIiAi TyIgIlAiICJRIiAiUyIgIlQiICJVIiAiViIgIlciICJZIiAiWiIgIjoiCisgICAiOyIgIj0iICI+ IiAiXyIgImAiICJAIiAiWyIgIlxcIiAiXSIgInsiICJ8IiAifSIgIn4iICJDLTAiICJDLTEiICJD LTIiCisgICAiQy0zIiAiQy00IiAiQy01IiAiQy02IiAiQy03IiAiQy04IiAiQy05IiAiQy1hIiAi Qy1iIiAiQy1jIiAiQy1kIiAiQy1lIgorICAgIkMtZiIgIkMtaSIgIkMtaiIgIkMtayIgIkMtbSIg IkMtbiIgIkMtbyIgIkMtcCIgIkMtcSIgIkMtcyIgIkMtdCIgIkMtdSIKKyAgICJDLXYiICJDLXci ICJDLXgiICJDLXkiICJDLTwiICJDLV4iICJDLUEiICJDLUIiICJDLUMiICJDLUQiICJDLUUiICJD LUYiCisgICAiQy1HIiAiQy1IIiAiQy1JIiAiQy1KIiAiQy1LIiAiQy1MIiAiQy1NIiAiQy1OIiAi Qy1PIiAiQy1QIiAiQy1RIiAiQy1SIgorICAgIkMtUyIgIkMtVCIgIkMtVSIgIkMtViIgIkMtVyIg IkMtWCIgIkMtWSIgIkMtWiIgIkMtOiIgIkMtOyIgIkMtPSIgIkMtPiIKKyAgICJDLV8iICJDLWAi ICJDLUAiICJDLVsiICJDLVxcIiAiQy1dIiAiQy17IiAiQy18IiAiQy19IiAiQy1+Il0KKyAgIkRl ZmluZSB0aGUgaW52ZW50b3J5IG9mIGtleXMgdXNlZCBpbiBJc3BlbGzigJlzICpDaG9pY2VzKiBi dWZmZXIuCisKK1ZhbHVlIGlzIGEgdmVjdG9yIG9mIHN0cmluZ3MgdGhhdCBkZXNjcmliZSBrZXlz IHdoZW4gdXNlZCBhcworYXJndW1lbnRzIGluIGBrYmQnLiAoUmVtZW1iZXIgdG8gZXNjYXBlIGJh Y2tzbGFzaGVzOiBcIlxcXFxcIiBpcworYXMgc3RyaW5nIHdpdGggb25lIGJhY2tzbGFzaC4pIFRo ZXNlIGtleXMgYXJlIHVzZWQgaW4gdGhlIGdpdmVuCitvcmRlciB0byBpZGVudGlmeSB0aGUgb3B0 aW9ucyB0aGF0IElzcGVsbCBvZmZlcnMgaW4gaXRzICpDaG9pY2VzKgorYnVmZmVyLgorCitUaGUg bnVtYmVyIG9mIGtleXMgZGVmaW5lZCBoZXJlIGxpbWl0cyB0aGUgbnVtYmVyIG9mIG9wdGlvbnMg dGhhdAorSXNwZWxsIHdpbGwgb2ZmZXIuCisKK0l0IGlzIGluIHRoZSByZXNwb25zaWJpbGl0eSBv ZiB0aGUgdXNlciwgbm90IHRvIGluY2x1ZGUga2V5cyBpbgordGhpcyB2ZWN0b3IgdGhhdCBJc3Bl bGzigJlzIGNvbW1hbmQgbG9vcCByZWNvZ25pemVzIGFzIGNvbW1hbmRzLgorVGhlc2UgYXJlOgor CisgICA8U1BDPiwgPywgQSwgUiwgWCwgYSwgaSwgbCwgbSwgcSwgciwgdSwgeCwKKyAgIEMtZywg Qy1oLCBDLWwsIEMtciwgQy16CisKK2FuZCB3aGF0ZXZlciBrZXkgaXMgYXNzb2NpYXRlZCB3aXRo IGBoZWxwLWNoYXInLCB3aGljaCBpcyBpbgorZ2VuZXJhbCBlcXVpdmFsZW50IHRvIEMtaC4gVGhl IGRvY3VtZW50YXRpb24gb2YgYGlzcGVsbC1oZWxwJworZXhwbGFpbnMsIHdoYXQgdGhlc2UgY29t bWFuZCBrZXlzIGRvLiIKKyAgOmdyb3VwICdpc3BlbGwpCisKKworKGRlZnN1YnN0IGlzcGVsbC1p bnNlcnQtY2hvaWNlcyAoKQorICAiSGVscGVyIHRoYXQgaW5zZXJ0cyB0aGUgb3B0aW9ucyBpbiBJ c3BlbGwncyAqQ2hvaWNlcyogYnVmZmVyLgorCitUaGUgY29kZSBvZiB0aGlzIGlubGluZSBmdW5j dGlvbiBpcyB1c2VkIGlkZW50aWNhbGx5IGF0IHNldmVyYWwKK3BsYWNlcyBpbiBgaXNwZWxsLWNv bW1hbmQtbG9vcCcuIgorICAod2hpbGUgKGFuZCBjaG9pY2VzCisJICAgICAgKDwgY291bnQgbm9m LW9wdC1rZXlzKQorCSAgICAgICg8IChpZiAoPiAoKyA2IChjdXJyZW50LWNvbHVtbikgKGxlbmd0 aCAoY2FyIGNob2ljZXMpKQorCQkJICAgKGxlbmd0aCAoc2V0cSBrZXkKKwkJCQkJIChlbHQgaXNw ZWxsLW9wdGlvbi1rZXlzIGNvdW50KSkpKQorCQkJKHdpbmRvdy13aWR0aCkpCisJCSAgICAgKHBy b2duCisJCSAgICAgICAoaW5zZXJ0ICJcbiIpCisJCSAgICAgICAoc2V0cSBsaW5lICgxKyBsaW5l KSkpCisJCSAgIGxpbmUpCisJCSBtYXgtbGluZXMpKQorICAgIChpbnNlcnQgIigiIGtleSAiKSAi IChjYXIgY2hvaWNlcykgIiAgIikKKyAgICAoc2V0cSBjaG9pY2VzIChjZHIgY2hvaWNlcykKKwkg IGNvdW50ICgxKyBjb3VudCkpKSkKKworCiAoZGVmdW4gaXNwZWxsLWNvbW1hbmQtbG9vcCAobWlz cyBndWVzcyB3b3JkIHN0YXJ0IGVuZCkKICAgIkRpc3BsYXkgcG9zc2libGUgY29ycmVjdGlvbnMg ZnJvbSBsaXN0IE1JU1MuCiBHVUVTUyBsaXN0cyBwb3NzaWJseSB2YWxpZCBhZmZpeCBjb25zdHJ1 Y3Rpb24gb2YgV09SRC4KQEAgLTIyMTAsMTcgKzIyNjYsMTkgQEAKIGluZGljYXRlcyB3aGV0aGVy IHRoZSBkaWN0aW9uYXJ5IGhhcyBiZWVuIG1vZGlmaWVkIHdoZW4gb3B0aW9uIGBhJwogb3IgYGkn IGlzIHVzZWQuCiBHbG9iYWwgYGlzcGVsbC1xdWl0JyBzZXQgdG8gc3RhcnQgbG9jYXRpb24gdG8g Y29udGludWUgc3BlbGwgc2Vzc2lvbi4iCi0gIChsZXQgKChjb3VudCA/MCkKKyAgKGxldCAoKGNv dW50IDApCisJKG5vZi1vcHQta2V5cyAobGVuZ3RoIGlzcGVsbC1vcHRpb24ta2V5cykpCiAJKGxp bmUgaXNwZWxsLWNob2ljZXMtd2luLWRlZmF1bHQtaGVpZ2h0KQogCTs7IGVuc3VyZSA0IGNvbnRl eHQgbGluZXMuCiAJKG1heC1saW5lcyAoLSAoaXNwZWxsLWFkanVzdGVkLXdpbmRvdy1oZWlnaHQp IDQpKQogCShjaG9pY2VzIG1pc3MpCiAJKHdpbmRvdy1taW4taGVpZ2h0IChtaW4gd2luZG93LW1p bi1oZWlnaHQKIAkJCQlpc3BlbGwtY2hvaWNlcy13aW4tZGVmYXVsdC1oZWlnaHQpKQotCShjb21t YW5kLWNoYXJhY3RlcnMgJyggPyAgP2kgP2EgP0EgP3IgP1IgPz8gP3ggP1ggP3EgP2wgP3UgP20g KSkKKwkoY29tbWFuZC1rZXlzIChsaXN0IGhlbHAtY2hhcgorCQkJICAgID8gID8/ID9BID9SID9Y ID9hID9pID9sID9tID9xID9yID91ID94CisJCQkgICAgP1xDLWcgP1xDLWggP1xDLWwgP1xDLXIg P1xDLXopKQogCShkZWRpY2F0ZWQgKHdpbmRvdy1kZWRpY2F0ZWQtcCkpCi0JKHNraXBwZWQgMCkK LQljaGFyIG51bSByZXN1bHQgdGV4dHdpbiBkZWRpY2F0ZWQtd2luKQorCWtleSBudW0gcmVzdWx0 IHRleHR3aW4gZGVkaWNhdGVkLXdpbikKIAogICAgIDs7IHNldHVwIHRoZSAqQ2hvaWNlcyogYnVm ZmVyIHdpdGggdmFsaWQgZGF0YS4KICAgICAod2l0aC1jdXJyZW50LWJ1ZmZlciAoZ2V0LWJ1ZmZl ci1jcmVhdGUgaXNwZWxsLWNob2ljZXMtYnVmZmVyKQpAQCAtMjI1MCwyNCArMjMwOCw3IEBACiAJ ICAgICAgKHNldHEgZ3Vlc3MgKGNkciBndWVzcykpKQogCSAgICAoaW5zZXJ0ICJcblVzZSBvcHRp b24gYGknIHRvIGFjY2VwdCB0aGlzIHNwZWxsaW5nIGFuZCBwdXQgaXQgaW4geW91ciBwcml2YXRl IGRpY3Rpb25hcnkuXG4iKQogCSAgICAoc2V0cSBsaW5lICgrIGxpbmUgKGlmIGNob2ljZXMgMyAy KSkpKSkKLSAgICAgICh3aGlsZSAoYW5kIGNob2ljZXMKLQkJICAoPCAoaWYgKD4gKCsgNyAoY3Vy cmVudC1jb2x1bW4pIChsZW5ndGggKGNhciBjaG9pY2VzKSkKLQkJCSAgICAgICAoaWYgKD4gY291 bnQgP34pIDMgMCkpCi0JCQkgICAgKHdpbmRvdy13aWR0aCkpCi0JCQkgKHByb2duCi0JCQkgICAo aW5zZXJ0ICJcbiIpCi0JCQkgICAoc2V0cSBsaW5lICgxKyBsaW5lKSkpCi0JCSAgICAgICBsaW5l KQotCQkgICAgIG1heC1saW5lcykpCi0JOzsgbm90IHNvIGdvb2QgaWYgdGhlcmUgYXJlIG92ZXIg MjAgb3IgMzAgb3B0aW9ucywgYnV0IHRoZW4sIGlmCi0JOzsgdGhlcmUgYXJlIHRoYXQgbWFueSB5 b3UgZG9uJ3Qgd2FudCB0byBzY2FuIHRoZW0gYWxsIGFueXdheS4uLgotCSh3aGlsZSAobWVtcSBj b3VudCBjb21tYW5kLWNoYXJhY3RlcnMpIDsgc2tpcCBjb21tYW5kIGNoYXJhY3RlcnMuCi0JICAo c2V0cSBjb3VudCAoaXNwZWxsLWludC1jaGFyICgxKyBjb3VudCkpCi0JCXNraXBwZWQgKDErIHNr aXBwZWQpKSkKLQkoaW5zZXJ0ICIoIiBjb3VudCAiKSAiIChjYXIgY2hvaWNlcykgIiAgIikKLQko c2V0cSBjaG9pY2VzIChjZHIgY2hvaWNlcykKLQkgICAgICBjb3VudCAoaXNwZWxsLWludC1jaGFy ICgxKyBjb3VudCkpKSkKLSAgICAgIChzZXRxIGNvdW50IChpc3BlbGwtaW50LWNoYXIgKC0gY291 bnQgPzAgc2tpcHBlZCkpKSkKKyAgICAgIChpc3BlbGwtaW5zZXJ0LWNob2ljZXMpKQogCiAgICAg OzsgZW5zdXJlIHdvcmQgaXMgdmlzaWJsZQogICAgIChpZiAobm90IChwb3MtdmlzaWJsZS1pbi13 aW5kb3ctcCBlbmQpKQpAQCAtMjMwMSwzOCArMjM0MiwzNSBAQAogCQkJCSAgICAgInVuY2hhbmdl ZCwgQ2hhcmFjdGVyIHRvIHJlcGxhY2Ugd29yZCIpKSkKIAkJICAobGV0ICgoaW5oaWJpdC1xdWl0 IHQpCiAJCQkoaW5wdXQtdmFsaWQgdCkpCi0JCSAgICAoc2V0cSBjaGFyIG5pbCBza2lwcGVkIDAp CisJCSAgICAoc2V0cSBrZXkgbmlsKQogCQkgICAgOzsgSWYgdGhlIHVzZXIgdHlwZXMgQy1nLCBv ciBnZW5lcmF0ZXMgc29tZSBvdGhlcgotCQkgICAgOzsgbm9uLWNoYXJhY3RlciBldmVudCAoc3Vj aCBhcyBhIGZyYW1lIHN3aXRjaAorCQkgICAgOzsgbm9uLWtleWJvYXJkIGV2ZW50IChzdWNoIGFz IGEgZnJhbWUgc3dpdGNoCiAJCSAgICA7OyBldmVudCksIHN0b3AgaXNwZWxsLiAgQXMgYSBzcGVj aWFsIGV4Y2VwdGlvbiwKIAkJICAgIDs7IGlnbm9yZSBtb3VzZSBldmVudHMgb2NjdXJyaW5nIGlu IHRoZSBzYW1lIGZyYW1lLgotCQkgICAgKHdoaWxlIChhbmQgaW5wdXQtdmFsaWQgKG5vdCAoY2hh cmFjdGVycCBjaGFyKSkpCi0JCSAgICAgIChzZXRxIGNoYXIgKHJlYWQta2V5KSkKKwkJICAgICh3 aGlsZSAoYW5kIGlucHV0LXZhbGlkIChub3QgKG5hdG51bXAga2V5KSkpCisJCSAgICAgIChzZXRx IGtleSAocmVhZC1rZXkpKQogCQkgICAgICAoc2V0cSBpbnB1dC12YWxpZAotCQkJICAgIChvciAo Y2hhcmFjdGVycCBjaGFyKQotCQkJCShhbmQgKG1vdXNlLWV2ZW50LXAgY2hhcikKKwkJCSAgICAo b3IgKG5hdG51bXAga2V5KQorCQkJCShhbmQgKG1vdXNlLWV2ZW50LXAga2V5KQogCQkJCSAgICAg KGVxIChzZWxlY3RlZC1mcmFtZSkKIAkJCQkJICh3aW5kb3ctZnJhbWUKLQkJCQkJICAocG9zbi13 aW5kb3cgKGV2ZW50LXN0YXJ0IGNoYXIpKSkpKSkpKQotCQkgICAgKHdoZW4gKG9yIHF1aXQtZmxh ZyAobm90IGlucHV0LXZhbGlkKSAoPSBjaGFyID9cQy1nKSkKLQkJICAgICAgKHNldHEgY2hhciA/ WCBxdWl0LWZsYWcgbmlsKSkpCi0JCSAgOzsgQWRqdXN0IG51bSB0byBhcnJheSBvZmZzZXQgc2tp cHBpbmcgY29tbWFuZCBjaGFyYWN0ZXJzLgotCQkgIChsZXQgKChjb20tY2hhcnMgY29tbWFuZC1j aGFyYWN0ZXJzKSkKLQkJICAgICh3aGlsZSBjb20tY2hhcnMKLQkJICAgICAgKGlmIChhbmQgKD4g KGNhciBjb20tY2hhcnMpID8wKSAoPCAoY2FyIGNvbS1jaGFycykgY2hhcikpCi0JCQkgIChzZXRx IHNraXBwZWQgKDErIHNraXBwZWQpKSkKLQkJICAgICAgKHNldHEgY29tLWNoYXJzIChjZHIgY29t LWNoYXJzKSkpCi0JCSAgICAoc2V0cSBudW0gKC0gY2hhciA/MCBza2lwcGVkKSkpCisJCQkJCSAg KHBvc24td2luZG93IChldmVudC1zdGFydCBrZXkpKSkpKSkpKQorCQkgICAgKHdoZW4gKG9yIHF1 aXQtZmxhZyAobm90IGlucHV0LXZhbGlkKSAoPSBrZXkgP1xDLWcpKQorCQkgICAgICAoc2V0cSBr ZXkgP1ggcXVpdC1mbGFnIG5pbCkpKQorCQkgIDs7IFdlIGNvdWxkIGxvb2sgdXAga2V5IGluIGlz cGVsbC1vcHRpb24ta2V5cyByaWdodCBub3cuCisJCSAgOzsgQnV0IGZvciBwZXJmb3JtYW5jZSBy ZWFzb25zLCB3ZSBkbyB0aGlzIGluIHRoZSBjb25kIGZvcm0KKwkJICA7OyBiZWxvdyBhbmQgb25s eSBhZnRlciBpdCBoYXMgdHVybmVkIG91dCwgdGhhdCBrZXkgaXMgbm9uZQorCQkgIDs7IG9mIHRo ZSBjb21tYW5kIGtleXMuCiAKIAkJICAoY29uZAotCQkgICAoKD0gY2hhciA/ICkgbmlsKQk7IGFj Y2VwdCB3b3JkIHRoaXMgdGltZSBvbmx5Ci0JCSAgICgoPSBjaGFyID9pKQkJOyBhY2NlcHQgYW5k IGluc2VydCB3b3JkIGludG8gcGVycyBkaWN0CisJCSAgICgoPSBrZXkgPyApIG5pbCkJOyBhY2Nl cHQgd29yZCB0aGlzIHRpbWUgb25seQorCQkgICAoKD0ga2V5ID9pKQkJOyBhY2NlcHQgYW5kIGlu c2VydCB3b3JkIGludG8gcGVycyBkaWN0CiAJCSAgICAoaXNwZWxsLXNlbmQtc3RyaW5nIChjb25j YXQgIioiIHdvcmQgIlxuIikpCiAJCSAgICAoc2V0cSBpc3BlbGwtcGRpY3QtbW9kaWZpZWQtcCAn KHQpKSA7IGRpY3Rpb25hcnkgbW9kaWZpZWQhCiAJCSAgICAoYW5kIChmYm91bmRwICdmbHlzcGVs bC11bmhpZ2hsaWdodC1hdCkKIAkJCSAoZmx5c3BlbGwtdW5oaWdobGlnaHQtYXQgc3RhcnQpKQog CQkgICAgbmlsKQotCQkgICAoKG9yICg9IGNoYXIgP2EpICg9IGNoYXIgP0EpKSA7IGFjY2VwdCB3 b3JkIHdpdGhvdXQgaW5zZXJ0CisJCSAgICgob3IgKD0ga2V5ID9hKSAoPSBrZXkgP0EpKSA7IGFj Y2VwdCB3b3JkIHdpdGhvdXQgaW5zZXJ0CiAJCSAgICAoaXNwZWxsLXNlbmQtc3RyaW5nIChjb25j YXQgIkAiIHdvcmQgIlxuIikpCiAJCSAgICAoYWRkLXRvLWxpc3QgJ2lzcGVsbC1idWZmZXItc2Vz c2lvbi1sb2NhbHdvcmRzIHdvcmQpCiAJCSAgICAoYW5kIChmYm91bmRwICdmbHlzcGVsbC11bmhp Z2hsaWdodC1hdCkKQEAgLTIzNDIsMTIgKzIzODAsMTIgQEAKIAkJICAgIChpZiAobnVsbCBpc3Bl bGwtcGRpY3QtbW9kaWZpZWQtcCkKIAkJCShzZXRxIGlzcGVsbC1wZGljdC1tb2RpZmllZC1wCiAJ CQkgICAgICAobGlzdCBpc3BlbGwtcGRpY3QtbW9kaWZpZWQtcCkpKQotCQkgICAgKGlmICg9IGNo YXIgP0EpIDApKQk7IHJldHVybiAwIGZvciBpc3BlbGwtYWRkIGJ1ZmZlci1sb2NhbAotCQkgICAo KG9yICg9IGNoYXIgP3IpICg9IGNoYXIgP1IpKSA7IHR5cGUgaW4gcmVwbGFjZW1lbnQKKwkJICAg IChpZiAoPSBrZXkgP0EpIDApKQk7IHJldHVybiAwIGZvciBpc3BlbGwtYWRkIGJ1ZmZlci1sb2Nh bAorCQkgICAoKG9yICg9IGtleSA/cikgKD0ga2V5ID9SKSkgOyB0eXBlIGluIHJlcGxhY2VtZW50 CiAJCSAgICAoYW5kIChlcSAnYmxvY2sgaXNwZWxsLWhpZ2hsaWdodC1wKSA7IHJlZnJlc2ggdHR5 J3MKIAkJCSAoaXNwZWxsLWhpZ2hsaWdodC1zcGVsbGluZy1lcnJvciBzdGFydCBlbmQgbmlsIHQp KQogCQkgICAgKGxldCAoKHJlc3VsdAotCQkJICAgKGlmIChvciAoPSBjaGFyID9SKSBpc3BlbGwt cXVlcnktcmVwbGFjZS1jaG9pY2VzKQorCQkJICAgKGlmIChvciAoPSBrZXkgP1IpIGlzcGVsbC1x dWVyeS1yZXBsYWNlLWNob2ljZXMpCiAJCQkgICAgICAgKGxpc3QgKHJlYWQtc3RyaW5nCiAJCQkJ ICAgICAgKGZvcm1hdCAiUXVlcnktcmVwbGFjZW1lbnQgZm9yICVzOiAid29yZCkKIAkJCQkgICAg ICB3b3JkKQpAQCAtMjM1OCw3ICsyMzk2LDcgQEAKIAkJCSAgIChpc3BlbGwtaGlnaGxpZ2h0LXNw ZWxsaW5nLWVycm9yIHN0YXJ0IGVuZCBuaWwKIAkJCQkJCQkgICAgJ2Jsb2NrKSkKIAkJICAgICAg cmVzdWx0KSkKLQkJICAgKChvciAoPSBjaGFyID8/KSAoPSBjaGFyIGhlbHAtY2hhcikgKD0gY2hh ciA/XEMtaCkpCisJCSAgICgob3IgKD0ga2V5ID8/KSAoPSBrZXkgaGVscC1jaGFyKSAoPSBrZXkg P1xDLWgpKQogCQkgICAgKGFuZCAoZXEgJ2Jsb2NrIGlzcGVsbC1oaWdobGlnaHQtcCkKIAkJCSAo aXNwZWxsLWhpZ2hsaWdodC1zcGVsbGluZy1lcnJvciBzdGFydCBlbmQgbmlsIHQpKQogCQkgICAg KGlzcGVsbC1oZWxwKQpAQCAtMjM2NywxMyArMjQwNSwxMyBAQAogCQkJCQkJCSAgJ2Jsb2NrKSkK IAkJICAgIHQpCiAJCSAgIDs7IFF1aXQgYW5kIG1vdmUgcG9pbnQgYmFjay4KLQkJICAgKCg9IGNo YXIgP3gpCisJCSAgICgoPSBrZXkgP3gpCiAJCSAgICAoaXNwZWxsLXBkaWN0LXNhdmUgaXNwZWxs LXNpbGVudGx5LXNhdmVwKQogCQkgICAgKG1lc3NhZ2UgIkV4aXRlZCBzcGVsbC1jaGVja2luZyIp CiAJCSAgICAoc2V0cSBpc3BlbGwtcXVpdCB0KQogCQkgICAgbmlsKQogCQkgICA7OyBRdWl0IGFu ZCBwcmVzZXJ2ZSBwb2ludC4KLQkJICAgKCg9IGNoYXIgP1gpCisJCSAgICgoPSBrZXkgP1gpCiAJ CSAgICAoaXNwZWxsLXBkaWN0LXNhdmUgaXNwZWxsLXNpbGVudGx5LXNhdmVwKQogCQkgICAgKG1l c3NhZ2UgIiVzIgogCQkgICAgIChzdWJzdGl0dXRlLWNvbW1hbmQta2V5cwpAQCAtMjM4MSw3ICsy NDE5LDcgQEAKIAkJCSAgICAgICIgdXNlIEMtdSBcXFtpc3BlbGwtd29yZF0gdG8gcmVzdW1lIikp KQogCQkgICAgKHNldHEgaXNwZWxsLXF1aXQgc3RhcnQpCiAJCSAgICBuaWwpCi0JCSAgICgoPSBj aGFyID9xKQorCQkgICAoKD0ga2V5ID9xKQogCQkgICAgKGlmICh5LW9yLW4tcCAiUmVhbGx5IGtp bGwgSXNwZWxsIHByb2Nlc3M/ICIpCiAJCQkocHJvZ24KIAkJCSAgKGlzcGVsbC1raWxsLWlzcGVs bCB0KSA7IHRlcm1pbmF0ZSBwcm9jZXNzLgpAQCAtMjM4OSw3ICsyNDI3LDcgQEAKIAkJCQkJCShw b2ludCkpCiAJCQkJaXNwZWxsLXBkaWN0LW1vZGlmaWVkLXAgbmlsKSkKIAkJICAgICAgdCkpCQk7 IGNvbnRpbnVlIGlmIHRoZXkgZG9uJ3QgcXVpdC4KLQkJICAgKCg9IGNoYXIgP2wpCisJCSAgICgo PSBrZXkgP2wpCiAJCSAgICAoYW5kIChlcSAnYmxvY2sgaXNwZWxsLWhpZ2hsaWdodC1wKSA7IHJl ZnJlc2ggdHR5IGRpc3BsYXlzCiAJCQkgKGlzcGVsbC1oaWdobGlnaHQtc3BlbGxpbmctZXJyb3Ig c3RhcnQgZW5kIG5pbCB0KSkKIAkJICAgIChsZXQgKChuZXctd29yZCAocmVhZC1zdHJpbmcKQEAg LTI0MDAsOCArMjQzOCw3IEBACiAJCQkgICAgKHdpdGgtY3VycmVudC1idWZmZXIgKGdldC1idWZm ZXItY3JlYXRlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGlzcGVsbC1jaG9pY2VzLWJ1ZmZlcikKIAkJCSAgICAgIChlcmFzZS1idWZmZXIpCi0JCQkg ICAgICAoc2V0cSBjb3VudCA/MAotCQkJCSAgICBza2lwcGVkIDAKKwkJCSAgICAgIChzZXRxIGNv dW50IDAKIAkJCQkgICAgbW9kZS1saW5lLWZvcm1hdCA7OyBzZXR1cCB0aGUgKkNob2ljZXMqIGJ1 ZmZlciB3aXRoIHZhbGlkIGRhdGEuCiAJCQkJICAgIChjb25jYXQgIi0tICAlYiAgLS0gIHdvcmQ6 ICIgbmV3LXdvcmQKIAkJCQkJICAgICIgIC0tICB3b3JkLWxpc3Q6ICIKQEAgLTI0MTAsNDYgKzI0 NDcsMjUgQEAKIAkJCQkgICAgbWlzcyAoaXNwZWxsLWxvb2t1cC13b3JkcyBuZXctd29yZCkKIAkJ CQkgICAgY2hvaWNlcyBtaXNzCiAJCQkJICAgIGxpbmUgaXNwZWxsLWNob2ljZXMtd2luLWRlZmF1 bHQtaGVpZ2h0KQotCQkJICAgICAgKHdoaWxlIChhbmQgY2hvaWNlcyA7IGFkanVzdCBjaG9pY2Vz IHdpbmRvdy4KLQkJCQkJICAoPCAoaWYgKD4gKCsgNyAoY3VycmVudC1jb2x1bW4pCi0JCQkJCQkg ICAgICAgKGxlbmd0aCAoY2FyIGNob2ljZXMpKQotCQkJCQkJICAgICAgIChpZiAoPiBjb3VudCA/ fikgMyAwKSkKLQkJCQkJCSAgICAod2luZG93LXdpZHRoKSkKLQkJCQkJCSAocHJvZ24KLQkJCQkJ CSAgIChpbnNlcnQgIlxuIikKLQkJCQkJCSAgIChzZXRxIGxpbmUgKDErIGxpbmUpKSkKLQkJCQkJ ICAgICAgIGxpbmUpCi0JCQkJCSAgICAgbWF4LWxpbmVzKSkKLQkJCQkod2hpbGUgKG1lbXEgY291 bnQgY29tbWFuZC1jaGFyYWN0ZXJzKQotCQkJCSAgKHNldHEgY291bnQgKGlzcGVsbC1pbnQtY2hh ciAoMSsgY291bnQpKQotCQkJCQlza2lwcGVkICgxKyBza2lwcGVkKSkpCi0JCQkJKGluc2VydCAi KCIgY291bnQgIikgIiAoY2FyIGNob2ljZXMpICIgICIpCi0JCQkJKHNldHEgY2hvaWNlcyAoY2Ry IGNob2ljZXMpCi0JCQkJICAgICAgY291bnQgKGlzcGVsbC1pbnQtY2hhciAoMSsgY291bnQpKSkp Ci0JCQkgICAgICAoc2V0cSBjb3VudCAoaXNwZWxsLWludC1jaGFyCi0JCQkJCSAgICgtIGNvdW50 ID8wIHNraXBwZWQpKSkpCisJCQkgICAgICAoaXNwZWxsLWluc2VydC1jaG9pY2VzKSkKIAkJCSAg ICAoaXNwZWxsLXNob3ctY2hvaWNlcyBsaW5lIGVuZCkKIAkJCSAgICAoc2VsZWN0LXdpbmRvdyAo bmV4dC13aW5kb3cpKSkpKQogCQkgICAgKGFuZCAoZXEgJ2Jsb2NrIGlzcGVsbC1oaWdobGlnaHQt cCkKIAkJCSAoaXNwZWxsLWhpZ2hsaWdodC1zcGVsbGluZy1lcnJvciBzdGFydCBlbmQgbmlsCiAJ CQkJCQkJICAnYmxvY2spKQogCQkgICAgdCkJCQk7IHJlc2VsZWN0IGZyb20gbmV3IGNob2ljZXMK LQkJICAgKCg9IGNoYXIgP3UpCQk7IGluc2VydCBsb3dlcmNhc2UgaW50byBkaWN0aW9uYXJ5CisJ CSAgICgoPSBrZXkgP3UpCQk7IGluc2VydCBsb3dlcmNhc2UgaW50byBkaWN0aW9uYXJ5CiAJCSAg ICAoaXNwZWxsLXNlbmQtc3RyaW5nIChjb25jYXQgIioiIChkb3duY2FzZSB3b3JkKSAiXG4iKSkK IAkJICAgIChzZXRxIGlzcGVsbC1wZGljdC1tb2RpZmllZC1wICcodCkpIDsgZGljdGlvbmFyeSBt b2RpZmllZCEKIAkJICAgIG5pbCkKLQkJICAgKCg9IGNoYXIgP20pCQk7IHR5cGUgaW4gd2hhdCB0 byBpbnNlcnQKKwkJICAgKCg9IGtleSA/bSkJCTsgdHlwZSBpbiB3aGF0IHRvIGluc2VydAogCQkg ICAgKGlzcGVsbC1zZW5kLXN0cmluZwogCQkgICAgIChjb25jYXQgIioiIChyZWFkLXN0cmluZyAi SW5zZXJ0OiAiIHdvcmQpICJcbiIpKQogCQkgICAgKHNldHEgaXNwZWxsLXBkaWN0LW1vZGlmaWVk LXAgJyh0KSkKIAkJICAgIChjb25zIHdvcmQgbmlsKSkKLQkJICAgKChhbmQgKD49IG51bSAwKSAo PCBudW0gY291bnQpKQotCQkgICAgKGlmIGlzcGVsbC1xdWVyeS1yZXBsYWNlLWNob2ljZXMgOyBR dWVyeSByZXBsYWNlIGZsYWcKLQkJCShsaXN0IChudGggbnVtIG1pc3MpICdxdWVyeS1yZXBsYWNl KQotCQkgICAgICAobnRoIG51bSBtaXNzKSkpCi0JCSAgICgoPSBjaGFyID9cQy1sKQorCQkgICAo KD0ga2V5ID9cQy1sKQogCQkgICAgKHJlZHJhdy1kaXNwbGF5KSB0KQotCQkgICAoKD0gY2hhciA/ XEMtcikKKwkJICAgKCg9IGtleSA/XEMtcikKIAkJICAgIDs7IFRoaXMgbWF5IGhhdmUgYWxpZ25t ZW50IGVycm9ycyBpZiBjdXJyZW50IGxpbmUgaXMgZWRpdGVkCiAJCSAgICAoaWYgKG1hcmtlci1w b3NpdGlvbiBpc3BlbGwtcmVjdXJzaXZlLWVkaXQtbWFya2VyKQogCQkJKHByb2duCkBAIC0yNDgw LDEwICsyNDk2LDI3IEBACiAJCQkgICAgICAgIkNhbm5vdCBjb250aW51ZSBpc3BlbGwgZnJvbSB0 aGlzIGJ1ZmZlci4iKSkpCiAJCQkoc2V0LW1hcmtlciBpc3BlbGwtcmVjdXJzaXZlLWVkaXQtbWFy a2VyIG5pbCkpKQogCQkgICAgKGxpc3Qgd29yZCBuaWwpKQk7IHJlY2hlY2sgc3RhcnRpbmcgYXQg dGhpcyB3b3JkLgotCQkgICAoKD0gY2hhciA/XEMteikKKwkJICAgKCg9IGtleSA/XEMteikKIAkJ ICAgIChmdW5jYWxsIChrZXktYmluZGluZyAiXEMteiIpKQogCQkgICAgdCkKLQkJICAgKHQgKGRp bmcpIHQpKSkpKSkKKwkJICAgKHQKKwkJICAgIDs7IGtleSBpcyBub25lIG9mIHRoZSBjb21tYW5k IGtleXMsIGJ1dCBtaWdodCBiZSBvbmUgb2YKKwkJICAgIDs7IHRob3NlIGluIGlzcGVsbC1vcHRp b24ta2V5czogTG9vayB1cC4KKwkJICAgIChzZXRxIG51bSAwKQorCQkgICAgKHdoaWxlIChhbmQg KDwgbnVtIG5vZi1vcHQta2V5cykKKwkJCQkobm90IChlcXVhbAorCQkJCSAgICAgIChlbHQgKGti ZCAoZWx0IGlzcGVsbC1vcHRpb24ta2V5cyBudW0pKQorCQkJCQkgICAwKQorCQkJCSAgICAgIGtl eSkpKQorCQkgICAgICAoc2V0cSBudW0gKDErIG51bSkpKQorCQkgICAgOzsgSWYga2V5IHdhcyBm b3VuZCBpbiBpc3BlbGwtb3B0aW9uLWtleXMsIG51bSBlcXVhbHMgaXRzCisJCSAgICA7OyBpbmRl eCBub3cuIE90aGVyd2lzZSBudW0gZXF1YWxzIG5vZi1vcHQta2V5cyA+PSBjb3VudC4KKwkJICAg IChpZiAoPCBudW0gY291bnQpCisJCQkoaWYgaXNwZWxsLXF1ZXJ5LXJlcGxhY2UtY2hvaWNlcyA7 IFF1ZXJ5IHJlcGxhY2UgZmxhZworCQkJICAgIChsaXN0IChudGggbnVtIG1pc3MpICdxdWVyeS1y ZXBsYWNlKQorCQkJICAobnRoIG51bSBtaXNzKSkKKwkJICAgICAgOzsgZWxzZS0ta2V5IGlzIG5v dCBkZWZpbmVkCisJCSAgICAgIChkaW5nKSB0KSkpKSkpKQogCSAgcmVzdWx0KQogICAgICAgOzsg cHJvdGVjdGVkCiAgICAgICAoYW5kIGlzcGVsbC1oaWdobGlnaHQtcAkJOyB1bmhpZ2hsaWdodAo= --_881061c9-6ce0-4a20-b430-b6f11cd60f04_-- From debbugs-submit-bounces@debbugs.gnu.org Sat Jun 27 07:47:41 2015 Received: (at 20870) by debbugs.gnu.org; 27 Jun 2015 11:47:41 +0000 Received: from localhost ([127.0.0.1]:58857 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z8oaC-0002Rw-Mb for submit@debbugs.gnu.org; Sat, 27 Jun 2015 07:47:41 -0400 Received: from mtaout29.012.net.il ([80.179.55.185]:43229) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z8oaA-0002Rj-WE for 20870@debbugs.gnu.org; Sat, 27 Jun 2015 07:47:39 -0400 Received: from conversion-daemon.mtaout29.012.net.il by mtaout29.012.net.il (HyperSendmail v2007.08) id <0NQL00200P7PWJ00@mtaout29.012.net.il> for 20870@debbugs.gnu.org; Sat, 27 Jun 2015 14:47:02 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by mtaout29.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NQL005LAQ2EV100@mtaout29.012.net.il>; Sat, 27 Jun 2015 14:47:02 +0300 (IDT) Date: Sat, 27 Jun 2015 14:47:28 +0300 From: Eli Zaretskii Subject: Re: bug#20870: 24.5; [PATCH] Options presented in ispell *Choices* should be accessible via keyboard In-reply-to: X-012-Sender: halo1@inter.net.il To: =?iso-8859-1?Q?J=FCrgen?= Hartmann Message-id: <83egkx74q7.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=iso-8859-1 Content-transfer-encoding: 8BIT References: X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 20870 Cc: 20870@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii 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 (+) > From: Jürgen Hartmann > Date: Sat, 27 Jun 2015 12:36:13 +0200 > > The attached patch tries to offer a workaround for this bug and to provide a > feature that was asked for by Emanuel Berg in > >    http://lists.gnu.org/archive/html/help-gnu-emacs/2015-06/msg00363.html > > i.e. that Ispell uses certain keys in a certain order for the offers in its > *Choices* buffer. > > Therefore, the idea is to use a customizable variable to hold a vector of key > specifications that are used by ispell-command-loop in the given order to > assemble its options. Thanks, but isn't it better to simply use numbers longer than one digit? E.g., if the number of choices is more than 10, use 00, 01, etc.; if the number of choices is more than 100, use 000, 001, etc., and so on and so forth? Bonus points for being able to support responses like 1 and 10 when the number of choices is more than 100 (but this is a nicety, not really required IMO). I just cannot imagine anyone in the need for customizing this. From debbugs-submit-bounces@debbugs.gnu.org Sun Jun 28 01:02:14 2015 Received: (at 20870) by debbugs.gnu.org; 28 Jun 2015 05:02:14 +0000 Received: from localhost ([127.0.0.1]:59620 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z94jN-0002MB-Kn for submit@debbugs.gnu.org; Sun, 28 Jun 2015 01:02:14 -0400 Received: from pruche.dit.umontreal.ca ([132.204.246.22]:38368) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z94jL-0002M3-5Z for 20870@debbugs.gnu.org; Sun, 28 Jun 2015 01:02:12 -0400 Received: from ceviche.home (lechon.iro.umontreal.ca [132.204.27.242]) by pruche.dit.umontreal.ca (8.14.1/8.14.1) with ESMTP id t5S529Yk024626; Sun, 28 Jun 2015 01:02:09 -0400 Received: by ceviche.home (Postfix, from userid 20848) id F2490660DC; Sun, 28 Jun 2015 01:02:08 -0400 (EDT) From: Stefan Monnier To: Eli Zaretskii Subject: Re: bug#20870: 24.5; [PATCH] Options presented in ispell *Choices* should be accessible via keyboard Message-ID: References: <83egkx74q7.fsf@gnu.org> Date: Sun, 28 Jun 2015 01:02:08 -0400 In-Reply-To: <83egkx74q7.fsf@gnu.org> (Eli Zaretskii's message of "Sat, 27 Jun 2015 14:47:28 +0300") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-NAI-Spam-Flag: NO X-NAI-Spam-Threshold: 5 X-NAI-Spam-Score: 0 X-NAI-Spam-Rules: 1 Rules triggered RV5350=0 X-NAI-Spam-Version: 2.3.0.9393 : core <5350> : inlines <3293> : streams <1462687> : uri <1971113> X-Spam-Score: -2.8 (--) X-Debbugs-Envelope-To: 20870 Cc: =?windows-1252?Q?J=FCrgen?= Hartmann , 20870@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.8 (--) > Thanks, but isn't it better to simply use numbers longer than one > digit? E.g., if the number of choices is more than 10, use 00, 01, > etc.; if the number of choices is more than 100, use 000, 001, > etc., and so on and so forth? Bonus points for being able to support > responses like 1 and 10 when the number of choices is more than 100 > (but this is a nicety, not really required IMO). That's right. And we can even combine these numbers with other schemes (e.g. ido/icomplete/avy style selection) if we want. Stefan From debbugs-submit-bounces@debbugs.gnu.org Tue Aug 25 05:07:49 2020 Received: (at 20870) by debbugs.gnu.org; 25 Aug 2020 09:07:49 +0000 Received: from localhost ([127.0.0.1]:60272 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kAUvk-000827-SG for submit@debbugs.gnu.org; Tue, 25 Aug 2020 05:07:49 -0400 Received: from quimby.gnus.org ([95.216.78.240]:38736) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kAUvi-00081q-GH for 20870@debbugs.gnu.org; Tue, 25 Aug 2020 05:07:47 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; 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=0B8hdml7kwmJESN+8l/fY2JvX8wuUY3tf3cnjsl4YfI=; b=ayj9EQQQpZcyFO0xXAwEoTjIfi pVXnApI/j34d2GEUmzAnRyVO6IJMm2bczQRVt3YH0J6YCx1/qXhmrkq0ijcOTtLFKmVlgSQY+BYNi GQ7ErGnG/Hz9/Tkw5lsyNoBlv7NbCkvMsYkS1yi2kseOXv/MUfB1o4OxqFcgQ0Rt3Nk4=; Received: from cm-84.212.202.86.getinternet.no ([84.212.202.86] helo=xo) by quimby with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kAUvS-0003Z2-Ke; Tue, 25 Aug 2020 11:07:40 +0200 From: Lars Ingebrigtsen To: Eli Zaretskii Subject: Re: bug#20870: 24.5; [PATCH] Options presented in ispell *Choices* should be accessible via keyboard References: <83egkx74q7.fsf@gnu.org> X-Now-Playing: Jim O'Rourke's _To Magnetize Money and Return a Roving Eye (2)_: "To Magnetize Money and Return a Roving Eye pt2" Date: Tue, 25 Aug 2020 11:07:29 +0200 In-Reply-To: <83egkx74q7.fsf@gnu.org> (Eli Zaretskii's message of "Sat, 27 Jun 2015 14:47:28 +0300") Message-ID: <87blizdrfy.fsf@gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: Eli Zaretskii writes: >> Therefore, the idea is to use a customizable variable to hold a vector of key >> specifications that are used by ispell-command-loop in the given order to >> assemble its options. > > Thanks, but i [...] Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 20870 Cc: =?utf-8?Q?J=C3=BCrgen?= Hartmann , 20870@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 Zaretskii writes: >> Therefore, the idea is to use a customizable variable to hold a vector of key >> specifications that are used by ispell-command-loop in the given order to >> assemble its options. > > Thanks, but isn't it better to simply use numbers longer than one > digit? E.g., if the number of choices is more than 10, use 00, 01, > etc.; if the number of choices is more than 100, use 000, 001, > etc., and so on and so forth? Bonus points for being able to support > responses like 1 and 10 when the number of choices is more than 100 > (but this is a nicety, not really required IMO). > > I just cannot imagine anyone in the need for customizing this. I think that would be a better interface, too, so the patch isn't ideal, and I'm closing this bug report. If somebody wants to work on Eli's suggestion, a new bug report would perhaps be appropriate. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From debbugs-submit-bounces@debbugs.gnu.org Tue Aug 25 05:07:53 2020 Received: (at control) by debbugs.gnu.org; 25 Aug 2020 09:07:53 +0000 Received: from localhost ([127.0.0.1]:60275 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kAUvp-00082P-3R for submit@debbugs.gnu.org; Tue, 25 Aug 2020 05:07:53 -0400 Received: from quimby.gnus.org ([95.216.78.240]:38752) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kAUvo-000820-9X for control@debbugs.gnu.org; Tue, 25 Aug 2020 05:07:52 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Subject:From:To:Message-Id:Date:Sender:Reply-To:Cc: MIME-Version:Content-Type:Content-Transfer-Encoding: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=z21SrKohR93k6hb0Rp5bpyFkbY7Pp1xpmR+vsJmShTQ=; b=RgKIoMPtkLSuugamJsWOn3oVin o5mFNUkGj8R83iYQ8gqrkFLTs4SEvhQV4y9ff5CXLcoUxqoeUjMO8qQBxUj7bUp5YPhSUSUaBfDX9 DcXIAcM4LfTy+0n5dGpl5jwZB59B/k4w12xsAuDG4urAWHy1BhmFuLmcUVL02OFJJP/w=; Received: from cm-84.212.202.86.getinternet.no ([84.212.202.86] helo=xo) by quimby with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kAUvg-0003ZC-L6 for control@debbugs.gnu.org; Tue, 25 Aug 2020 11:07:46 +0200 Date: Tue, 25 Aug 2020 11:07:43 +0200 Message-Id: <87a6yjdrfk.fsf@gnus.org> To: control@debbugs.gnu.org From: Lars Ingebrigtsen Subject: control message for bug #20870 X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: tags 20870 wontfix close 20870 quit Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: control 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 (-) tags 20870 wontfix close 20870 quit From unknown Sun Jun 22 11:43:16 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Tue, 22 Sep 2020 11:24:10 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator