NOTE: This patch has been committed.
Ar an naoiú lá de mí Aibréan, scríobh Aidan Kehoe:
Ar an triochadú lá de mí Márta, scríobh Pete Forman>:
> [...] The code number to be entered is a bit opaque to me beyond the
> range of ASCII, or is it 8859-1. Unicode codepoints would be more
> meaningful.
I agree. (The range is ISO 8859-1.)
> This patch simplisitically allows Unicode to be used. It ought to be
> enabled by a new custom variable to keep the current behavior OOTB.
I don’t think we should even offer that; the int-to-char number-to-character
mapping was never specified as part of the API, and varies as it is from
invocation to invocation, so anyone relying on it at the moment has broken
code.
I’ll commit the change in the next few days unless anyone objects.
And, done. quoted-insert’s docstring should mention read-quoted-char-radix
somewhere, but that’s another problem.
lisp/ChangeLog addition:
2006-04-15 Aidan Kehoe <kehoea(a)parhasard.net>
* cmdloop.el (read-quoted-char): Use unicode-to-char instead of
int-to-char for converting code points to characters; document
this usage. This is compatible with previously documented
behaviour, since the mapping from number to character was only
stable and well-defined for ISO-8859-1. Thank you Pete Forman!
Document some help subsystem incompatibility with GNU that seems
to have been ignored during the last sync.
XEmacs Trunk source patch:
Diff command: cvs -q diff -u
Files affected: lisp/cmdloop.el
Index: lisp/cmdloop.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/lisp/cmdloop.el,v
retrieving revision 1.19
diff -u -u -r1.19 cmdloop.el
--- lisp/cmdloop.el 2006/01/08 20:00:43 1.19
+++ lisp/cmdloop.el 2006/04/15 14:36:55
@@ -542,13 +542,16 @@
:group 'editing-basics)
(defun read-quoted-char (&optional prompt)
+ ;; XEmacs change; description of the character code input
"Like `read-char', but do not allow quitting.
-Also, if the first character read is an octal digit,
-we read any number of octal digits and return the
-specified character code. Any nondigit terminates the sequence.
-If the terminator is RET, it is discarded;
-any other terminator is used itself as input.
+Also, if the first character read is a digit of base (the value of)
+`read-quoted-char-radix', we read as many of such digits as are
+typed and return a character with the corresponding Unicode code
+point. Any input that not a digit (in the base used) terminates the
+sequence. If the terminator is RET, it is discarded; any other
+terminator is used itself as input.
+
The optional argument PROMPT specifies a string to use to prompt the user.
The variable `read-quoted-char-radix' controls which radix to use
for numeric input."
@@ -558,13 +561,20 @@
)
(while (not done)
(let ((inhibit-quit first)
- ;; Don't let C-h get the help message--only help function keys.
+ ;; Don't let C-h get the help message--only help
+ ;; function keys.
+ ;; XEmacs: we don't support the help function keys as of
+ ;; 2006-04-16. GNU have a Vhelp_event_list in addition
+ ;; to help-char in src/keyboard.c, and it's only useful
+ ;; to set help-form while help-char is nil when that
+ ;; functionality is available.
(help-char nil)
- (help-form
+ (help-form (format
"Type the special character you want to use,
-or the octal character code.
+or the character code, base %d (the value of `read-quoted-char-radix')
RET terminates the character code and is discarded;
-any other non-digit terminates the character code and is then used as input."))
+any other non-digit terminates the character code and is then used as input."
+ read-quoted-char-radix)))
(and prompt (display-message 'prompt (format "%s-" prompt)))
(setq event (next-command-event)
char (or (event-to-character event)
@@ -605,7 +615,8 @@
(t (setq code (char-to-int char)
done t)))
(setq first nil))
- (int-to-char code)))
+ ;; XEmacs change; unicode-to-char instead of int-to-char
+ (unicode-to-char code)))
;; in passwd.el.
; (defun read-passwd (prompt &optional confirm default)
--
In the beginning God created the heavens and the earth. And God was a
bug-eyed, hexagonal smurf with a head of electrified hair; and God said:
“Si, mi chiamano Mimi...”