all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Juri Linkov <juri@jurta.org>
To: Chong Yidong <cyd@stupidchicken.com>
Cc: Ted Zlatanov <tzz@lifelogs.com>,
	Stefan Monnier <monnier@iro.umontreal.ca>,
	emacs-devel@gnu.org
Subject: Re: inputting characters by hexadigit
Date: Wed, 30 Jul 2008 18:29:19 +0300	[thread overview]
Message-ID: <87k5f39y28.fsf@jurta.org> (raw)
In-Reply-To: <874p68za5h.fsf@stupidchicken.com> (Chong Yidong's message of "Tue, 29 Jul 2008 16:51:38 -0400")

>>> I think we should improve `ucs-insert' to accept input in standard
>>> Emacs Lisp notations: #o... for octal and #x... for hex.
>>
>> Agreed.
>
> Sure, though it should be noted that this is an incompatible editing
> change: with standing Lisp notation, 123 would be decimal, not octal.

Hexadecimal numbers is the primary notation for Unicode code points
so it would be better to keep the current default.  In addition we can
support the hash notation that allows entering decimal numbers (though,
in less convenient way) as e.g. #10r182.  I propose the following patch
that keeps `ucs-insert' backward-compatible in regard of treating
numbers as hex by default, adds reading numbers with hash notations,
and improves error-handling of `ucs-insert'.

Index: lisp/international/mule-cmds.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/international/mule-cmds.el,v
retrieving revision 1.335
diff -c -r1.335 mule-cmds.el
*** lisp/international/mule-cmds.el	29 Jul 2008 14:45:50 -0000	1.335
--- lisp/international/mule-cmds.el	30 Jul 2008 15:29:11 -0000
***************
*** 2864,2883 ****
  as a number."
    (let* ((completion-ignore-case t)
  	 (input (completing-read prompt ucs-completions)))
!     (or (and (string-match "^[0-9a-fA-F]+$" input)
! 	     (string-to-number input 16))
! 	(cdr (assoc input (ucs-names))))))
  
  (defun ucs-insert (arg)
    "Insert a character of the given Unicode code point.
  Interactively, prompts for a hex string giving the code."
    (interactive (list (read-char-by-name "Unicode (name or hex): ")))
!   (or (integerp arg)
        (setq arg (string-to-number arg 16)))
!   (if (or (< arg 0) (> arg #x10FFFF))
!       (error "Not a Unicode character code: 0x%X" arg))
    (insert-and-inherit arg))
  
  
  ;; arch-tag: b382c432-4b36-460e-bf4c-05efd0bb18dc
  ;;; mule-cmds.el ends here
--- 2864,2891 ----
  as a number."
    (let* ((completion-ignore-case t)
  	 (input (completing-read prompt ucs-completions)))
!     (cond
!      ((string-match "^[0-9a-fA-F]+$" input)
!       (string-to-number input 16))
!      ((string-match "^#" input)
!       (read input))
!      (t
!       (cdr (assoc input (ucs-names)))))))
  
  (defun ucs-insert (arg)
    "Insert a character of the given Unicode code point.
  Interactively, prompts for a hex string giving the code."
    (interactive (list (read-char-by-name "Unicode (name or hex): ")))
!   (if (stringp arg)
        (setq arg (string-to-number arg 16)))
!   (cond
!    ((not (integerp arg))
!     (error "Not a Unicode character code: %S" arg))
!    ((< arg 0) (> arg #x10FFFF)
!     (error "Not a Unicode character code: 0x%X" arg)))
    (insert-and-inherit arg))
  
+ (define-key ctl-x-map "8\r" 'ucs-insert)
  
  ;; arch-tag: b382c432-4b36-460e-bf4c-05efd0bb18dc
  ;;; mule-cmds.el ends here

-- 
Juri Linkov
http://www.jurta.org/emacs/




  reply	other threads:[~2008-07-30 15:29 UTC|newest]

Thread overview: 160+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-07-15 17:41 describe-char should display the character's Unicode name Ted Zlatanov
2008-07-15 20:42 ` Juri Linkov
2008-07-16  2:29   ` Kenichi Handa
2008-07-17  0:35     ` Juri Linkov
2008-07-17  1:26       ` Kenichi Handa
2008-07-17 14:09         ` Ted Zlatanov
2008-07-17 23:40         ` Juri Linkov
2008-07-18  0:10           ` Miles Bader
2008-07-18  0:47             ` inputting characters by hexadigit Kenichi Handa
2008-07-18  0:54               ` Lennart Borgman (gmail)
2008-07-18  1:01               ` Miles Bader
2008-07-18  4:48               ` David De La Harpe Golden
2008-07-18 12:39                 ` Miles Bader
2008-07-18 16:17                   ` Stephen J. Turnbull
2008-07-18 17:33                     ` David De La Harpe Golden
2008-07-18 18:08                       ` James Cloos
2008-07-18 18:59                         ` Stephen J. Turnbull
2008-07-18 21:29                           ` James Cloos
2008-07-19  0:30                             ` Juri Linkov
2008-07-21  1:41                               ` Stefan Monnier
2008-07-21  5:35                                 ` David De La Harpe Golden
2008-07-22 22:59                                   ` Juri Linkov
2008-07-22 23:17                                     ` Lennart Borgman (gmail)
2008-07-22 23:29                                     ` David De La Harpe Golden
2008-07-29 16:07                                 ` Juri Linkov
2008-07-29 18:00                                   ` Stefan Monnier
2008-07-19  5:49                             ` Stephen J. Turnbull
2008-07-19  0:13                     ` Miles Bader
2008-07-19  0:29                     ` Juri Linkov
2008-07-19  0:27                   ` Juri Linkov
2008-07-20 20:28                     ` Juri Linkov
2008-07-21  1:46                       ` Stefan Monnier
2008-07-21  5:07                         ` David De La Harpe Golden
2008-07-21  6:04                           ` Stefan Monnier
2008-07-21  9:01                             ` Juri Linkov
2008-07-21 11:04                               ` Johan Bockgård
2008-07-21 11:11                                 ` David Kastrup
2008-07-21 14:20                                   ` Johan Bockgård
2008-07-21 14:24                                     ` David Kastrup
2008-07-21 14:33                                       ` Lennart Borgman (gmail)
2008-07-21 14:37                                         ` David Kastrup
2008-07-21 19:25                               ` James Cloos
2008-07-21 19:53                                 ` Stefan Monnier
2008-07-21 20:23                                   ` Miles Bader
2008-07-21 20:38                                     ` Lennart Borgman (gmail)
2008-07-21 21:49                                     ` Johan Bockgård
2008-07-21 22:03                                       ` David Kastrup
2008-07-21 23:37                                         ` Johan Bockgård
2008-07-22  1:26                                           ` David De La Harpe Golden
2008-07-22 22:52                                           ` Juri Linkov
2008-07-21 20:31                                   ` David Kastrup
2008-07-21 20:36                                     ` David De La Harpe Golden
2008-07-21 20:43                                       ` David Kastrup
2008-07-21 20:50                                         ` Lennart Borgman (gmail)
2008-07-21 21:12                                           ` David Kastrup
2008-07-21 21:03                                         ` Alfred M. Szmidt
2008-07-21 21:24                                           ` Drew Adams
2008-07-22  4:03                                           ` Miles Bader
2008-07-21 21:06                                         ` David De La Harpe Golden
2008-07-22  4:04                                         ` Miles Bader
2008-07-21 20:31                                   ` James Cloos
2008-07-21 21:11                                   ` David De La Harpe Golden
2008-07-21 23:43                                 ` Juri Linkov
2008-07-22  4:06                                   ` Miles Bader
2008-07-21 16:54                             ` David De La Harpe Golden
2008-07-21 17:04                               ` David De La Harpe Golden
2008-07-21  6:16                           ` David Kastrup
2008-07-22  0:51                         ` Kenichi Handa
2008-07-22  7:56                           ` Juanma Barranquero
2008-07-22  8:33                             ` Miles Bader
2008-07-22 10:57                               ` Juanma Barranquero
2008-07-22 12:26                               ` Kenichi Handa
2008-07-22 12:33                                 ` Lennart Borgman (gmail)
2008-07-22 12:35                                   ` Miles Bader
2008-07-22 16:16                                 ` Stefan Monnier
2008-07-22 16:54                                   ` Drew Adams
2008-07-22 20:38                                     ` Alfred M. Szmidt
2008-07-22 22:55                                       ` Juri Linkov
2008-07-23  0:08                                       ` David De La Harpe Golden
2008-07-23  2:18                                       ` Miles Bader
2008-07-22 22:54                                   ` Juri Linkov
2008-07-23  0:28                                   ` Miles Bader
2008-07-23  1:02                                   ` Kenichi Handa
2008-07-23  2:32                                     ` Stefan Monnier
2008-07-23  3:18                                       ` Miles Bader
2008-07-23  3:38                                       ` David De La Harpe Golden
2008-07-23  3:53                                         ` Stefan Monnier
2008-07-23  4:26                                           ` David De La Harpe Golden
2008-07-23 19:19                                             ` Stefan Monnier
2008-07-23 20:26                                               ` David De La Harpe Golden
2008-07-23  9:03                                           ` Juri Linkov
2008-07-23 10:15                                             ` Miles Bader
2008-07-23 14:27                                               ` Juri Linkov
2008-07-23 14:58                                                 ` Miles Bader
2008-07-22 14:06                             ` Drew Adams
2008-07-23 13:01                               ` Ted Zlatanov
2008-07-23 13:05                                 ` Lennart Borgman (gmail)
2008-07-23 13:44                                   ` Drew Adams
2008-07-23 14:27                                   ` Juri Linkov
2008-07-23 19:24                                     ` Stefan Monnier
2008-07-23 22:32                                       ` Juri Linkov
2008-07-24  2:05                                         ` Stefan Monnier
2008-07-29 15:51                                           ` Juri Linkov
2008-07-29 17:33                                             ` Chong Yidong
2008-07-29 17:51                                               ` Juri Linkov
2008-07-29 19:55                                                 ` Stefan Monnier
2008-07-29 20:51                                                   ` Chong Yidong
2008-07-30 15:29                                                     ` Juri Linkov [this message]
2008-07-31 19:20                                                       ` Ted Zlatanov
2008-07-18  0:38           ` describe-char should display the character's Unicode name Kenichi Handa
2008-07-18  0:58             ` Miles Bader
2008-07-18 13:33               ` Ted Zlatanov
2008-07-18 13:53                 ` Drew Adams
2008-07-18 14:31                 ` Stefan Monnier
2008-07-18 15:22                   ` Ted Zlatanov
2008-07-19  0:45                     ` Juri Linkov
2008-07-21 16:35                       ` Ted Zlatanov
2008-07-21 16:35                         ` Lennart Borgman (gmail)
2008-07-21 16:58                           ` David De La Harpe Golden
2008-07-22 22:57                         ` Juri Linkov
2008-07-23 14:47                           ` Ted Zlatanov
2008-07-23 22:31                             ` Juri Linkov
2008-07-23 22:52                               ` Lennart Borgman (gmail)
2008-07-24 13:29                                 ` Ted Zlatanov
2008-07-24 13:39                                   ` Lennart Borgman
2008-07-24 15:27                                     ` Ted Zlatanov
2008-07-24 15:34                                       ` Lennart Borgman (gmail)
2008-07-25  0:41                                         ` Juri Linkov
2008-07-25  2:24                                           ` Kenichi Handa
2008-07-19  0:35                 ` Juri Linkov
2008-07-19  1:11                   ` Kenichi Handa
2008-07-20  0:29                     ` inputting characters by hexadigit Juri Linkov
2008-07-20  1:23                       ` Kenichi Handa
2008-07-20 20:27                         ` Juri Linkov
2008-07-23 14:37                           ` Ted Zlatanov
2008-07-23 19:31                             ` Stefan Monnier
2008-07-23 20:19                               ` Ted Zlatanov
2008-07-24  2:08                                 ` Stefan Monnier
2008-07-24 13:20                                   ` Ted Zlatanov
2008-07-24 13:40                                     ` Lennart Borgman
2008-07-24 14:03                                     ` Stefan Monnier
2008-07-24 15:25                                       ` Ted Zlatanov
2008-07-24 16:06                                         ` Stefan Monnier
2008-07-24 17:00                                           ` Drew Adams
2008-07-24 18:15                                             ` Ted Zlatanov
2008-07-24 18:37                                               ` Drew Adams
2008-07-28 13:56                                                 ` Ted Zlatanov
2008-07-24 20:12                                             ` Stefan Monnier
2008-07-24 20:27                                               ` Drew Adams
2008-07-24 20:37                                                 ` Lennart Borgman (gmail)
2008-07-24 21:30                                                   ` Lennart Borgman (gmail)
2008-07-24 21:59                                                     ` Lennart Borgman (gmail)
2008-07-28 14:00                                                   ` Ted Zlatanov
2008-07-23 22:35                               ` Juri Linkov
2008-07-23 23:00                                 ` Lennart Borgman (gmail)
2008-07-24  2:18                                   ` Stefan Monnier
2008-07-25  0:52                                     ` Juri Linkov
2008-07-24 13:24                                 ` Ted Zlatanov
2008-07-24 15:55                                   ` Drew Adams
2008-07-19  0:35               ` describe-char should display the character's Unicode name Juri Linkov

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

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

  git send-email \
    --in-reply-to=87k5f39y28.fsf@jurta.org \
    --to=juri@jurta.org \
    --cc=cyd@stupidchicken.com \
    --cc=emacs-devel@gnu.org \
    --cc=monnier@iro.umontreal.ca \
    --cc=tzz@lifelogs.com \
    /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 external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.