From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: =?UTF-8?Q?J=C3=BCrgen?= Hartmann Newsgroups: gmane.emacs.bugs Subject: bug#20870: 24.5; Options presented in ispell *Choices* should be accessible via keyboard Date: Mon, 22 Jun 2015 11:08:12 +0200 Message-ID: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1434964670 16648 80.91.229.3 (22 Jun 2015 09:17:50 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 22 Jun 2015 09:17:50 +0000 (UTC) To: 20870@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon Jun 22 11:17:38 2015 Return-path: Envelope-to: geb-bug-gnu-emacs@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 1Z6xrF-0001Nb-FQ for geb-bug-gnu-emacs@m.gmane.org; Mon, 22 Jun 2015 11:17:37 +0200 Original-Received: from localhost ([::1]:38777 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z6xrE-0002kH-Mh for geb-bug-gnu-emacs@m.gmane.org; Mon, 22 Jun 2015 05:17:36 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:46205) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z6xqk-0002dc-EL for bug-gnu-emacs@gnu.org; Mon, 22 Jun 2015 05:17:07 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z6xqg-0003FU-H6 for bug-gnu-emacs@gnu.org; Mon, 22 Jun 2015 05:17:06 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:52414) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z6xqg-0003FO-EF for bug-gnu-emacs@gnu.org; Mon, 22 Jun 2015 05:17:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1Z6xqg-0002HL-4O for bug-gnu-emacs@gnu.org; Mon, 22 Jun 2015 05:17:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: =?UTF-8?Q?J=C3=BCrgen?= Hartmann Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 22 Jun 2015 09:17:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 20870 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: X-Debbugs-Original-To: "bug-gnu-emacs@gnu.org" Original-Received: via spool by submit@debbugs.gnu.org id=B.14349646158741 (code B ref -1); Mon, 22 Jun 2015 09:17:01 +0000 Original-Received: (at submit) by debbugs.gnu.org; 22 Jun 2015 09:16:55 +0000 Original-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 Original-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 Original-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 Original-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 Original-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 Original-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 Original-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 Original-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] Importance: Normal 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-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 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.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:104212 Archived-At: 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= =