From: René Kyllingstad Date: Tue, 17 Jul 2012 04:17:23 +0000 (+0800) Subject: Make insert-char interactive, and ucs-insert an obsolete alias for it. X-Git-Tag: emacs-24.2.90~1179 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=ddfc8813451b43f1cdb06fd07a47123b9f92bd70;p=emacs.git Make insert-char interactive, and ucs-insert an obsolete alias for it. * lisp/international/mule-cmds.el (ucs-insert): Make it an obsolete alias for insert-char. * editfns.c (Finsert_char): Make it interactive, and make the second arg optional. Copy interactive spec and docstring from ucs-insert. --- diff --git a/etc/NEWS b/etc/NEWS index 88887ebf9da..9eac4af64a3 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -140,6 +140,9 @@ invokes `set-buffer-file-coding-system'. ** Setting `enable-remote-dir-locals' to non-nil allows directory local variables on remote hosts. +** `insert-char' is now a command, and `ucs-insert' an obsolete alias +for it. + * Editing Changes in Emacs 24.2 diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 55c8f3a7933..6606940740c 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2012-07-16 René Kyllingstad (tiny change) + + * international/mule-cmds.el (ucs-insert): Make it an obsolete + alias for insert-char. + 2012-07-16 Fabián Ezequiel Gallina * progmodes/python.el: Simplified imenu implementation. diff --git a/lisp/international/mule-cmds.el b/lisp/international/mule-cmds.el index 137a43b3d11..a91c71b0304 100644 --- a/lisp/international/mule-cmds.el +++ b/lisp/international/mule-cmds.el @@ -2954,43 +2954,7 @@ point or a number in hash notation, e.g. #o21430 for octal, (t (cdr (assoc-string input (ucs-names) t)))))) -(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'. - -You can type a few of the first letters of the Unicode name and -use completion. If you type a substring of the Unicode name -preceded by an asterisk `*' and use completion, it will show all -the characters whose names include that substring, not necessarily -at the beginning of the name. - -This function also accepts a hexadecimal number of Unicode code -point or a number in hash notation, e.g. #o21430 for octal, -#x2318 for hex, or #10r8984 for decimal. - -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 (and (stringp character) - (string-match-p "\\`[0-9a-fA-F]+\\'" character)) - (setq character (string-to-number character 16))) - (cond - ((null character) - (error "Not a Unicode character")) - ((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) +(define-obsolete-variable-alias 'ucs-insert 'insert-char "24.2") +(define-key ctl-x-map "8\r" 'insert-char) ;;; mule-cmds.el ends here diff --git a/src/ChangeLog b/src/ChangeLog index 9949c65ba71..4a77507e557 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,9 @@ +2012-07-16 René Kyllingstad (tiny change) + + * editfns.c (Finsert_char): Make it interactive, and make the + second arg optional. Copy interactive spec and docstring from + ucs-insert. + 2012-07-17 Paul Eggert * floatfns.c (Fabs): Do not wrap fabs inside IN_FLOAT (Bug#11913). diff --git a/src/editfns.c b/src/editfns.c index 32d11faa216..5dc561a400e 100644 --- a/src/editfns.c +++ b/src/editfns.c @@ -2368,11 +2368,28 @@ usage: (insert-before-markers-and-inherit &rest ARGS) */) return Qnil; } -DEFUN ("insert-char", Finsert_char, Sinsert_char, 2, 3, 0, +DEFUN ("insert-char", Finsert_char, Sinsert_char, 1, 3, + "(list (read-char-by-name \"Unicode (name or hex): \")\ + (prefix-numeric-value current-prefix-arg)\ + t))", doc: /* Insert COUNT copies of CHARACTER. +Interactively, prompts for a Unicode character name or a hex number +using `read-char-by-name'. + +You can type a few of the first letters of the Unicode name and +use completion. If you type a substring of the Unicode name +preceded by an asterisk `*' and use completion, it will show all +the characters whose names include that substring, not necessarily +at the beginning of the name. + +This function also accepts a hexadecimal number of Unicode code +point or a number in hash notation, e.g. #o21430 for octal, +#x2318 for hex, or #10r8984 for decimal. + Point, and before-insertion markers, are relocated as in the function `insert'. The optional third arg INHERIT, if non-nil, says to inherit text properties -from adjoining text, if those properties are sticky. */) +from adjoining text, if those properties are sticky. If called +interactively, INHERIT is t. */) (Lisp_Object character, Lisp_Object count, Lisp_Object inherit) { int i, stringlen; @@ -2382,6 +2399,8 @@ from adjoining text, if those properties are sticky. */) char string[4000]; CHECK_CHARACTER (character); + if (NILP (count)) + XSETFASTINT (count, 1); CHECK_NUMBER (count); c = XFASTINT (character);