(CHAR_TO_CHARC): New inline function.
[chise/xemacs-chise.git-] / src / data.c
index 09e9c9d..d4792d2 100644 (file)
@@ -770,7 +770,7 @@ ARRAY may be a vector, bit vector, or string.  INDEX starts at 0.
     {
       CHECK_CHAR_COERCE_INT (newval);
       if (idx >= XSTRING_CHAR_LENGTH (array)) goto range_error;
-      set_string_char (XSTRING (array), idx, XCHAR (newval));
+      set_string_char (XSTRING (array), idx, (unsigned char) XCHAR (newval));
       bump_string_modiff (array);
     }
   else
@@ -1064,7 +1064,7 @@ Floating point numbers always use base 10.
     p++;
 
 #ifdef LISP_FLOAT_TYPE
-  if (isfloat_string (p))
+  if (isfloat_string (p) && b == 10)
     return make_float (atof (p));
 #endif /* LISP_FLOAT_TYPE */