X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=src%2Fdata.c;h=d4792d2f84bb3f9124e25465f5600e89a43765b7;hb=97ae0d9bcc1fdfcc040948ba9227b2a8be8e07eb;hp=2309297d64ef0a5b156219b4f3a5443f024a3908;hpb=3e447015251ce6dcde843cbed10d9033d5538622;p=chise%2Fxemacs-chise.git- diff --git a/src/data.c b/src/data.c index 2309297..d4792d2 100644 --- a/src/data.c +++ b/src/data.c @@ -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 */ @@ -2076,6 +2076,8 @@ init_errors_once_early (void) void syms_of_data (void) { + INIT_LRECORD_IMPLEMENTATION (weak_list); + defsymbol (&Qquote, "quote"); defsymbol (&Qlambda, "lambda"); defsymbol (&Qlistp, "listp");