]> git.eshelyaron.com Git - emacs.git/commitdiff
text-char-description minor cleanup
authorPaul Eggert <eggert@cs.ucla.edu>
Thu, 23 Apr 2020 02:00:08 +0000 (19:00 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Thu, 23 Apr 2020 02:00:58 +0000 (19:00 -0700)
* src/keymap.c (push_text_char_description): Omit useless code.
(Ftext_char_description): Minor code cleanup, inspired by
seeing an incorrect comment about MAX_MULTIBYTE_LENGTH’s value.

src/keymap.c

index 51433e2b5ce09121db00f055d7294500afa537e6..d98b27b7a1b696c4f56c0515f5349594eab60fe7 100644 (file)
@@ -2268,12 +2268,6 @@ See `text-char-description' for describing character codes.  */)
 static char *
 push_text_char_description (register unsigned int c, register char *p)
 {
-  if (c >= 0200)
-    {
-      *p++ = 'M';
-      *p++ = '-';
-      c -= 0200;
-    }
   if (c < 040)
     {
       *p++ = '^';
@@ -2302,23 +2296,22 @@ characters into "C-char", and uses the 2**27 bit for Meta.
 See Info node `(elisp)Describing Characters' for examples.  */)
   (Lisp_Object character)
 {
-  /* Currently MAX_MULTIBYTE_LENGTH is 4 (< 6).  */
-  char str[6];
-  int c;
-
   CHECK_CHARACTER (character);
 
-  c = XFIXNUM (character);
+  int c = XFIXNUM (character);
   if (!ASCII_CHAR_P (c))
     {
+      char str[MAX_MULTIBYTE_LENGTH];
       int len = CHAR_STRING (c, (unsigned char *) str);
 
       return make_multibyte_string (str, 1, len);
     }
-
-  *push_text_char_description (c & 0377, str) = 0;
-
-  return build_string (str);
+  else
+    {
+      char desc[4];
+      int len = push_text_char_description (c, desc) - desc;
+      return make_string (desc, len);
+    }
 }
 
 static int where_is_preferred_modifier;