unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: "Jürgen Hartmann" <juergen_hartmann_@hotmail.com>
To: 20870@debbugs.gnu.org
Subject: bug#20870: 24.5; Options presented in ispell *Choices* should be accessible via keyboard
Date: Mon, 22 Jun 2015 11:08:12 +0200	[thread overview]
Message-ID: <DUB124-W302B3B61A1F6B3D46AE997A8A10@phx.gbl> (raw)

When ispell offers more than 67 options in its buffer *Choices*, it uses keys
like ^? or \200 that are hard (or impossible) to enter via keyboard. Here is
an example of the *Choices* content in such a case, where Hunspell and a
German alternate dictionary was used to complete the word "Abf":

-----------------------------------------------------------------------------
(0) Abfälle  (1) Abfällen  (2) Abfahrt  (3) Abfahrten  (4) Abfahrtshänge
(5) Abfahrtshängen  (6) Abfahrtshang  (7) Abfahrtsläufer
(8) Abfahrtsläuferin  (9) Abfahrtsläuferinnen  (:) Abfahrtsläufern
(;) Abfahrtsrennen  (<) Abfahrtsstelle  (=) Abfahrtsstellen
(>) Abfahrtsstrecke  (@) Abfahrtsstrecken  (B) Abfall  (C) Abfalls
(D) Abfallaufbereitung  (E) Abfalleimer  (F) Abfalleimern
(G) Abfallgraben  (H) Abfallkurve  (I) Abfallkurven  (J) Abfallpapier
(K) Abfallpapiers  (L) Abfallprodukt  (M) Abfallprodukten
(N) Abfallprodukts  (O) Abfallproduktes  (P) Abfallstoffe
(Q) Abfallstoffen  (S) Abfangjäger  (T) Abfangjägern  (U) Abfangjägers
(V) Abfangrakete  (W) Abfangraketen  (Y) Abfassung  (Z) Abfassungen
([) Abfertigung  (\) Abfertigungen  (]) Abfertigungsschalter
(^) Abfertigungsschaltern  (_) Abfertigungsschalters
(`) Abfertigungsstelle  (b) Abfertigungsstellen  (c) Abfindung
(d) Abfindungen  (e) Abflachung  (f) Abflachungen  (g) Abflüge
(h) Abflügen  (j) Abflüsse  (k) Abflüssen  (n) Abflug  (o) Abflugs
(p) Abflugflughafen  (s) Abflugland  (t) Abfluß  (v) Abflusses
(w) Abfördermenge  (y) Abfördermengen  (z) Abfolge  ({) Abfolgen
(|) Abfragesprache  (}) Abfragesprachen  (~) Abführmittel
(^?) Abführmitteln  (\200) Abführmittels  (\201) Abführung
(\202) Abfüllanlage  (\203) Abfüllanlagen  (\204) Abfüllfiliale
(\205) Abfüllfilialen  (\206) Abfüllstation  (\207) Abfüllstationen
(\210) Abfuhr  (\211) Abfuhren
-----------------------------------------------------------------------------

It is not straight forward to reproduce this example, since it depends on
the chosen dictionary. But we can do it in laboratory conditions, if we
generate an artificial dictionary.

For that, just redirect the output of the following shell script to a file
that we call /tmp/dict:

-----------------------------------------------------------------------------
#!/bin/sh

letters="a b c d e f g h i"

for i in $letters; do
    for j in $letters; do
    echo "aaa$i$j"
    done
done
-----------------------------------------------------------------------------

With that we can go to Emacs:

* Open Emacs 24.5 via

     LC_ALL=C ./emacs -Q

* Load the ispell library: M-x load-library RET ispell RET

* Open customization buffer for variable ispell-alternate-dictionary:
  M-x customize-variable RET ispell-alternate-dictionary RET

* Enter /tmp/dict as the variable's value and accept it for the current
  session. (Remember: /tmp/dict is the dictionary that we just generated.)

* Make a new Buffer and call it "text": C-x b RET text RET

* Change major mode of this buffer to text-mode.

* Enter "aaa" (without quotes) in the first line of the buffer text.

* With point immediately after the third letter a, start ispell-complete-word
  by C-M-i.

This should bring you a *Choices* buffer with a contents like that:

------------------------------------------------------------
(0) aaaaa  (1) aaaab  (2) aaaac  (3) aaaad  (4) aaaae
(5) aaaaf  (6) aaaag  (7) aaaah  (8) aaaai  (9) aaaba
(:) aaabb  (;) aaabc  (<) aaabd  (=) aaabe  (>) aaabf
(@) aaabg  (B) aaabh  (C) aaabi  (D) aaaca  (E) aaacb
(F) aaacc  (G) aaacd  (H) aaace  (I) aaacf  (J) aaacg
(K) aaach  (L) aaaci  (M) aaada  (N) aaadb  (O) aaadc
(P) aaadd  (Q) aaade  (S) aaadf  (T) aaadg  (U) aaadh
(V) aaadi  (W) aaaea  (Y) aaaeb  (Z) aaaec  ([) aaaed
(\) aaaee  (]) aaaef  (^) aaaeg  (_) aaaeh  (`) aaaei
(b) aaafa  (c) aaafb  (d) aaafc  (e) aaafd  (f) aaafe
(g) aaaff  (h) aaafg  (j) aaafh  (k) aaafi  (n) aaaga
(o) aaagb  (p) aaagc  (s) aaagd  (t) aaage  (v) aaagf
(w) aaagg  (y) aaagh  (z) aaagi  ({) aaaha  (|) aaahb
(}) aaahc  (~) aaahd  (^?) aaahe  (\200) aaahf  (\201) aaahg
(\202) aaahh  (\203) aaahi  (\204) aaaia  (\205) aaaib
(\206) aaaic  (\207) aaaid  (\210) aaaie  (\211) aaaif
(\212) aaaig  (\213) aaaih  (\214) aaaii
------------------------------------------------------------

which shows the problem.

Juergen

 		 	   		  




             reply	other threads:[~2015-06-22  9:08 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-22  9:08 Jürgen Hartmann [this message]
2015-06-27 10:36 ` bug#20870: 24.5; [PATCH] Options presented in ispell *Choices* should be accessible via keyboard Jürgen Hartmann
2015-06-27 11:47   ` Eli Zaretskii
2015-06-28  5:02     ` Stefan Monnier
2020-08-25  9:07     ` Lars Ingebrigtsen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=DUB124-W302B3B61A1F6B3D46AE997A8A10@phx.gbl \
    --to=juergen_hartmann_@hotmail.com \
    --cc=20870@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).