Commit ddfc8813 authored by René Kyllingstad's avatar René Kyllingstad Committed by Chong Yidong

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.
parent 7c26cf3c
......@@ -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
......
2012-07-16 René Kyllingstad <Rene@Kyllingstad.com> (tiny change)
* international/mule-cmds.el (ucs-insert): Make it an obsolete
alias for insert-char.
2012-07-16 Fabián Ezequiel Gallina <fgallina@cuca>
* progmodes/python.el: Simplified imenu implementation.
......
......@@ -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
2012-07-16 René Kyllingstad <Rene@Kyllingstad.com> (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 <eggert@cs.ucla.edu>
* floatfns.c (Fabs): Do not wrap fabs inside IN_FLOAT (Bug#11913).
......
......@@ -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);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment