emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r109109: Make insert-char interactive


From: Chong Yidong
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r109109: Make insert-char interactive, and ucs-insert an obsolete alias for it.
Date: Tue, 17 Jul 2012 12:17:23 +0800
User-agent: Bazaar (2.5.0)

------------------------------------------------------------
revno: 109109
author: René Kyllingstad <address@hidden>
committer: Chong Yidong <address@hidden>
branch nick: trunk
timestamp: Tue 2012-07-17 12:17:23 +0800
message:
  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.
modified:
  etc/NEWS
  lisp/ChangeLog
  lisp/international/mule-cmds.el
  src/ChangeLog
  src/editfns.c
=== modified file 'etc/NEWS'
--- a/etc/NEWS  2012-07-15 00:52:16 +0000
+++ b/etc/NEWS  2012-07-17 04:17:23 +0000
@@ -140,6 +140,9 @@
 ** 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
 

=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2012-07-16 17:18:39 +0000
+++ b/lisp/ChangeLog    2012-07-17 04:17:23 +0000
@@ -1,3 +1,8 @@
+2012-07-16  René Kyllingstad  <address@hidden>  (tiny change)
+
+       * international/mule-cmds.el (ucs-insert): Make it an obsolete
+       alias for insert-char.
+
 2012-07-16  Fabián Ezequiel Gallina  <address@hidden>
 
        * progmodes/python.el: Simplified imenu implementation.

=== modified file 'lisp/international/mule-cmds.el'
--- a/lisp/international/mule-cmds.el   2012-06-27 21:15:13 +0000
+++ b/lisp/international/mule-cmds.el   2012-07-17 04:17:23 +0000
@@ -2954,43 +2954,7 @@
      (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

=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2012-07-17 02:56:00 +0000
+++ b/src/ChangeLog     2012-07-17 04:17:23 +0000
@@ -1,3 +1,9 @@
+2012-07-16  René Kyllingstad  <address@hidden>  (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  <address@hidden>
 
        * floatfns.c (Fabs): Do not wrap fabs inside IN_FLOAT (Bug#11913).

=== modified file 'src/editfns.c'
--- a/src/editfns.c     2012-07-10 23:24:36 +0000
+++ b/src/editfns.c     2012-07-17 04:17:23 +0000
@@ -2368,11 +2368,28 @@
   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 @@
   char string[4000];
 
   CHECK_CHARACTER (character);
+  if (NILP (count))
+    XSETFASTINT (count, 1);
   CHECK_NUMBER (count);
   c = XFASTINT (character);
 


reply via email to

[Prev in Thread] Current Thread [Next in Thread]