Mercurial > emacs
changeset 104240:4c2e1ea913d9
(ucs-insert): Change arguments from `arg' to `character', `count',
`inherit' to be the same as in `insert-char'. Doc fix. (Bug#4039)
author | Juri Linkov <juri@jurta.org> |
---|---|
date | Wed, 12 Aug 2009 20:43:08 +0000 |
parents | bb8d0bcd5abb |
children | 5380bb5744ff |
files | lisp/international/mule-cmds.el |
diffstat | 1 files changed, 20 insertions(+), 11 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/international/mule-cmds.el Wed Aug 12 20:31:25 2009 +0000 +++ b/lisp/international/mule-cmds.el Wed Aug 12 20:43:08 2009 +0000 @@ -2917,19 +2917,28 @@ (t (cdr (assoc-string input (ucs-names) t)))))) -(defun ucs-insert (arg) - "Insert a character of the given Unicode code point. +(defun ucs-insert (character &optional count inherit) + "Insert COUNT copies of CHARACTER of the given Unicode code point. Interactively, prompts for a Unicode character name or a hex number -using `read-char-by-name'." - (interactive (list (read-char-by-name "Unicode (name or hex): "))) - (if (stringp arg) - (setq arg (string-to-number arg 16))) +using `read-char-by-name'. +The optional third arg INHERIT (non-nil when called interactively), +says to inherit text properties from adjoining text, if those +properties are sticky." + (interactive + (list (read-char-by-name "Unicode (name or hex): ") + (prefix-numeric-value current-prefix-arg) + t)) + (unless count (setq count 1)) + (if (stringp character) + (setq character (string-to-number character 16))) (cond - ((not (integerp arg)) - (error "Not a Unicode character code: %S" arg)) - ((or (< arg 0) (> arg #x10FFFF)) - (error "Not a Unicode character code: 0x%X" arg))) - (insert-and-inherit arg)) + ((not (integerp character)) + (error "Not a Unicode character code: %S" character)) + ((or (< character 0) (> character #x10FFFF)) + (error "Not a Unicode character code: 0x%X" character))) + (if inherit + (dotimes (i count) (insert-and-inherit character)) + (dotimes (i count) (insert character)))) (define-key ctl-x-map "8\r" 'ucs-insert)