[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] /srv/bzr/emacs/trunk r111287: Make read-char-by-name signa
From: |
Chong Yidong |
Subject: |
[Emacs-diffs] /srv/bzr/emacs/trunk r111287: Make read-char-by-name signal an error for invalid input. |
Date: |
Fri, 21 Dec 2012 15:51:33 +0800 |
User-agent: |
Bazaar (2.5.0) |
------------------------------------------------------------
revno: 111287
fixes bug: http://debbugs.gnu.org/13177
committer: Chong Yidong <address@hidden>
branch nick: trunk
timestamp: Fri 2012-12-21 15:51:33 +0800
message:
Make read-char-by-name signal an error for invalid input.
* international/mule-cmds.el (read-char-by-name): Signal an error
if the user does not supply a valid character.
* editfns.c (Finsert_char): Since read-char-by-name now signals an
error for invalid chars, don't check for a nil return value.
modified:
lisp/ChangeLog
lisp/international/mule-cmds.el
src/ChangeLog
src/editfns.c
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog 2012-12-21 07:35:02 +0000
+++ b/lisp/ChangeLog 2012-12-21 07:51:33 +0000
@@ -5,6 +5,9 @@
2012-12-21 Chong Yidong <address@hidden>
+ * international/mule-cmds.el (read-char-by-name): Signal an error
+ if the user does not supply a valid character (Bug#13177).
+
* simple.el (transpose-subr-1): Preserve marker positions by
changing the insertion sequence (Bug#13122).
=== modified file 'lisp/international/mule-cmds.el'
--- a/lisp/international/mule-cmds.el 2012-12-15 13:03:17 +0000
+++ b/lisp/international/mule-cmds.el 2012-12-21 07:51:33 +0000
@@ -2953,14 +2953,18 @@
(let ((completion-ignore-case t))
(if (eq action 'metadata)
'(metadata (category . unicode-name))
- (complete-with-action action (ucs-names) string pred)))))))
- (cond
- ((string-match-p "\\`[0-9a-fA-F]+\\'" input)
- (string-to-number input 16))
- ((string-match-p "\\`#" input)
- (read input))
- (t
- (cdr (assoc-string input (ucs-names) t))))))
+ (complete-with-action action (ucs-names) string pred))))))
+ (char
+ (cond
+ ((string-match-p "\\`[0-9a-fA-F]+\\'" input)
+ (string-to-number input 16))
+ ((string-match-p "\\`#" input)
+ (read input))
+ (t
+ (cdr (assoc-string input (ucs-names) t))))))
+ (unless (characterp char)
+ (error "Invalid character"))
+ char))
(define-obsolete-function-alias 'ucs-insert 'insert-char "24.3")
(define-key ctl-x-map "8\r" 'insert-char)
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog 2012-12-20 16:09:05 +0000
+++ b/src/ChangeLog 2012-12-21 07:51:33 +0000
@@ -1,3 +1,8 @@
+2012-12-21 Chong Yidong <address@hidden>
+
+ * editfns.c (Finsert_char): Since read-char-by-name now signals an
+ error for invalid chars, don't check for a nil return value.
+
2012-12-20 Dmitry Antipov <address@hidden>
Avoid calls to CHAR_TO_BYTE if byte position is known.
=== modified file 'src/editfns.c'
--- a/src/editfns.c 2012-12-20 16:09:05 +0000
+++ b/src/editfns.c 2012-12-21 07:51:33 +0000
@@ -2361,10 +2361,9 @@
}
DEFUN ("insert-char", Finsert_char, Sinsert_char, 1, 3,
- "(list (or (read-char-by-name \"Insert character (Unicode name or hex):
\")\
- (error \"You did not specify a valid character\"))\
- (prefix-numeric-value current-prefix-arg)\
- t))",
+ "(list (read-char-by-name \"Insert character (Unicode name or hex): \")\
+ (prefix-numeric-value current-prefix-arg)\
+ t))",
doc: /* Insert COUNT copies of CHARACTER.
Interactively, prompt for CHARACTER. You can specify CHARACTER in one
of these ways:
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] /srv/bzr/emacs/trunk r111287: Make read-char-by-name signal an error for invalid input.,
Chong Yidong <=