unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Drew Adams <drew.adams@oracle.com>
To: Marcin Borkowski <mbork@mbork.pl>, rms@gnu.org
Cc: Andrew Hyatt <ahyatt@gmail.com>,
	johnw@gnu.org, monnier@iro.umontreal.ca, emacs-devel@gnu.org
Subject: RE: Entering Unicode characters
Date: Mon, 25 Jan 2016 11:28:43 -0800 (PST)	[thread overview]
Message-ID: <4c4fc77e-f703-4a9a-96a6-fa384fd8ebf8@default> (raw)
In-Reply-To: <87wpqxbi4h.fsf@mbork.pl>

> > We need a way to enter any Unicode character that is EASY to use
> > and does not require using its official name.
> 
> Have you heard about autocompletion?
> 
> Sorry, could not resist.  In fact, I agree that C-x 8 RET with stock
> Emacs is not the best experience, but either Icicles (which I used
> previously) or Ivy (which I use now) make it much, much better.  Icicles
> especially, since it displays the characters next to their names.  Ivy
> is much faster, OTOH.

Icicles too can be instantaneous if you turn off the feature that you mention,
of showing the code points and characters themselves next to the name.

To do that, set `icicle-read-char-by-name-multi-completion-flag' to nil.

These are not just annotations, BTW - you can complete against any of
the 3: name, code point, or char, or any combination of them.  Why might
you complete against the character?  To see its name or code point.  Helpful
if the char is easy to enter.  E.g., what are the name and code point of `}'?
Type it and you see these two (equivalent) candidates:

 CLOSING CURLY BRACKET	7D	}
 RIGHT CURLY BRACKET	7D	}

You can also speed things up during cycling if you sacrifice display of
the current candidate's info in the mode line.  To do that, set
`icicle-help-in-mode-line-delay' to 0.

The doc string of `icicle-read-char-by-name' tells you all of this:

,----
| icicle-read-char-by-name is a compiled Lisp function.
| 
| (icicle-read-char-by-name PROMPT &optional NAMES)
| 
| Read a character by its Unicode name or hex number string.
| Display PROMPT and read a string that represents a character by its
| Unicode property `name' or `old-name'.  Return the char as a number.
| 
| You can use completion against the Unicode name of the character.
| 
| In Icicle mode, if `icicle-read-char-by-name-multi-completion-flag' is
| non-nil:
| 
| * The Unicode code point of the char and the char itself appear next
|   to the char name in `*Completions*' - WYSIWYG.
| 
| * The completion candidate is a multi-completion.  Its first part is
|   the char name.  Its second part is the code point, as a hexadecimal
|   numeral.  Its third part is the character.  This means that you can
|   alternatively type the code point or the character to see what the
|   name is.  You can complete the name or the code point, or both.
| 
| * When you cycle among candidates, regardless of whether buffer
|   `*Completions*' is shown, the current character and its code point
|   are shown in the mode line (provided user option
|   `icicle-help-in-mode-line-delay' is greater than zero).  The code
|   point is shown in hexadecimal, octal, and decimal notation.
| 
| If you use a dedicated `*Completions*' frame, then the font used in
| `*Completions*' is the same as the frame from which you invoked
| completion.
| 
| If you use library `doremi-frm.el' then you can increase the font size
| for `*Completions*' dynamically using `C-x -'.
| 
| As an alternative to completing the Unicode name or code point, you
| can just input the code point as a hexidecimal numeral or a number in
| hash notation: #o21430 for octal, #x2318 for hex, or #10r8984 for
| decimal.
| 
| Non-nil optional arg NAMES is an alist of names to use in place of the
| value returned by `icicle-ucs-names'.  It must have the same form as
| such a return value: (CHAR-NAME . CHAR-CODE).
`----



  reply	other threads:[~2016-01-25 19:28 UTC|newest]

Thread overview: 128+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-11  3:09 A proposal for removing obsolete packages Andrew Hyatt
2016-01-11 14:41 ` Phillip Lord
2016-01-11 15:14 ` Eli Zaretskii
2016-01-12  4:24   ` Stefan Monnier
2016-01-19  5:28     ` John Wiegley
2016-01-20  2:54       ` Richard Stallman
2016-01-20  7:25         ` John Wiegley
2016-01-20 17:05           ` Andrew Hyatt
2016-01-20 17:49             ` Eli Zaretskii
2016-01-20 19:52               ` John Wiegley
2016-01-20 20:38                 ` Andrés Ramírez
2016-01-20 20:46                   ` John Wiegley
2016-01-20 20:52                   ` Eli Zaretskii
2016-01-20 21:03                     ` Andrés Ramírez
2016-01-21  3:35                       ` Eli Zaretskii
2016-01-23 21:22                 ` Andrew Hyatt
2016-01-21  3:02             ` Richard Stallman
2016-01-23 21:15               ` Andrew Hyatt
2016-01-23 22:03                 ` Drew Adams
2016-01-24  1:02                   ` Andrew Hyatt
2016-01-24  1:08                     ` Andrew Hyatt
2016-01-24  1:56                     ` Drew Adams
2016-01-24 21:44                       ` Andrew Hyatt
2016-01-25  2:37                         ` Drew Adams
2016-01-25  1:42                 ` Richard Stallman
2016-01-25  4:41                   ` Andrew Hyatt
2016-01-25 15:37                     ` Entering Unicode characters Richard Stallman
2016-01-25 16:08                       ` Eli Zaretskii
2016-01-25 17:20                         ` Vivek Dasmohapatra
2016-01-25 17:51                           ` Teemu Likonen
2016-01-25 20:12                           ` Eli Zaretskii
2016-01-26  1:24                             ` Vivek Dasmohapatra
2016-01-26  3:34                               ` Eli Zaretskii
2016-01-25 18:59                       ` Marcin Borkowski
2016-01-25 19:28                         ` Drew Adams [this message]
2016-01-26  8:38                         ` Oleh Krehel
2016-01-25 21:36                       ` Tianxiang Xiong
2016-01-25 22:17                         ` Drew Adams
2016-01-25 22:26                           ` Tianxiang Xiong
2016-01-26  9:39                         ` Richard Stallman
2016-01-26 10:55                           ` Jean-Christophe Helary
2016-01-26 14:49                             ` Eli Zaretskii
2016-01-26 14:54                               ` Stefan Monnier
2016-01-26 21:41                               ` Jean-Christophe Helary
2016-01-27  3:35                                 ` Eli Zaretskii
2016-01-27  6:01                                   ` Jean-Christophe Helary
2016-01-28 23:16                                     ` Jean-Christophe Helary
2016-01-29  8:21                                       ` Eli Zaretskii
2016-01-29 15:51                                         ` handa
2016-01-29 16:14                                           ` Eli Zaretskii
2016-01-29 16:24                                             ` Clément Pit--Claudel
2016-01-30  3:03                                             ` Jean-Christophe Helary
2016-01-30  7:30                                               ` Eli Zaretskii
2016-01-30  7:36                                                 ` Jean-Christophe Helary
2016-01-30  7:46                                                   ` Eli Zaretskii
2016-01-30 12:16                                             ` handa
2016-01-30 13:53                                               ` Eli Zaretskii
2016-01-27  0:47                               ` Richard Stallman
2016-01-26 11:31                           ` Yuri Khan
2016-01-27  0:46                             ` Richard Stallman
2016-01-26 12:40                           ` Marcin Borkowski
2016-01-26 15:10                             ` Eli Zaretskii
2016-01-27  0:47                               ` Richard Stallman
2016-01-26 17:08                           ` Tianxiang Xiong
2016-01-26 17:37                             ` Drew Adams
2016-01-26 18:08                             ` Stefan Monnier
2016-01-26 18:46                             ` Eli Zaretskii
2016-02-06 11:56                           ` Helmut Eller
2016-02-06 12:25                             ` Eli Zaretskii
2016-02-06 13:59                               ` Helmut Eller
2016-02-06 14:30                                 ` Eli Zaretskii
2016-02-12 11:20                               ` Helmut Eller
2016-02-07 18:33                             ` Richard Stallman
2016-02-07 18:42                               ` Clément Pit--Claudel
2016-02-08 14:15                                 ` Stefan Monnier
2016-02-08 14:25                                   ` Andreas Schwab
2016-02-09 12:14                                     ` Richard Stallman
2016-02-09 17:18                                       ` Eli Zaretskii
2016-02-10  0:12                                         ` Richard Stallman
2016-02-10 17:52                                           ` Eli Zaretskii
2016-02-11 18:19                                             ` Richard Stallman
2016-02-07 22:02                               ` John Wiegley
2016-02-08 13:02                                 ` Richard Stallman
2016-02-08 17:34                                   ` Eli Zaretskii
2016-02-09 12:14                                     ` Richard Stallman
2016-02-09 13:26                                       ` Dale Snell
2016-02-10  0:11                                         ` Richard Stallman
2016-02-09 17:14                                       ` Eli Zaretskii
2016-02-09  6:01                                   ` Alexis
2016-02-09 15:21                                     ` Drew Adams
2016-02-10  0:11                                       ` Richard Stallman
2016-02-10  1:16                                         ` Alexis
2016-02-10 14:16                                           ` Richard Stallman
2016-02-11 18:59                                             ` John Wiegley
     [not found]                                       ` <<E1aTINY-0007Rg-IA@fencepost.gnu.org>
2016-02-10  2:07                                         ` Drew Adams
2016-02-10  4:14                                           ` Elias Mårtenson
2016-02-10 14:15                                             ` Richard Stallman
2016-02-10  0:08                                     ` Richard Stallman
2016-02-10  4:17                                       ` Jose E. Marchesi
2016-02-08 14:18                                 ` Stefan Monnier
2016-02-12 11:32                               ` Helmut Eller
2016-02-13 15:32                                 ` Richard Stallman
     [not found]                         ` <<E1aO05V-0007eR-Kw@fencepost.gnu.org>
2016-01-26 16:58                           ` Drew Adams
2016-01-25 13:01                   ` A proposal for removing obsolete packages Stefan Monnier
2016-01-26  9:36                     ` Richard Stallman
2016-01-26 10:30                       ` Andreas Schwab
2016-01-27  0:46                         ` Richard Stallman
2016-01-27  1:03                           ` Alexis
2016-01-27 22:53                             ` Richard Stallman
2016-01-27  8:41                           ` Andreas Schwab
2016-01-25 15:46                   ` Eli Zaretskii
     [not found]                   ` <<m2a8nu46ff.fsf@gmail.com>
     [not found]                     ` <<E1aNjCP-0004Ya-Si@fencepost.gnu.org>
2016-01-25 16:04                       ` Entering Unicode characters Drew Adams
2016-01-25 16:18                         ` Stefan Monnier
2016-01-26 16:43                 ` A proposal for removing obsolete packages John Wiegley
2016-01-26 17:32                   ` John Wiegley
2016-02-03  4:45                     ` Andrew Hyatt
2016-01-12  5:25   ` Andrew Hyatt
2016-01-12  4:07 ` Richard Stallman
2016-01-12  5:25   ` Andrew Hyatt
2016-01-12 21:49     ` Richard Stallman
2016-01-14  5:19       ` Andrew Hyatt
2016-01-17 22:53         ` Stefan Monnier
2016-01-14 23:09       ` Phillip Lord
2016-01-16  4:13         ` Andrew Hyatt
2016-01-16 19:10           ` Richard Stallman
2016-01-18 18:47             ` Andrew Hyatt
2016-01-19 13:51               ` Richard Stallman
2016-01-19 14:54           ` Phillip Lord
     [not found] <<m28u3wak2g.fsf@gmail.com>

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=4c4fc77e-f703-4a9a-96a6-fa384fd8ebf8@default \
    --to=drew.adams@oracle.com \
    --cc=ahyatt@gmail.com \
    --cc=emacs-devel@gnu.org \
    --cc=johnw@gnu.org \
    --cc=mbork@mbork.pl \
    --cc=monnier@iro.umontreal.ca \
    --cc=rms@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).