X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=src%2Fdata.c;h=d4792d2f84bb3f9124e25465f5600e89a43765b7;hb=4f29597e4f3696a59bb08ffece07183c1568c4a5;hp=9cf8ff4d5e7fbc03ebe18029d45592dbcc451bdc;hpb=ea1ea793fe6e244ef5555ed983423a204101af13;p=chise%2Fxemacs-chise.git- diff --git a/src/data.c b/src/data.c index 9cf8ff4..d4792d2 100644 --- a/src/data.c +++ b/src/data.c @@ -357,7 +357,7 @@ If non-nil, the return value will be a list whose first element is */ (subr)) { - CONST char *prompt; + const char *prompt; CHECK_SUBR (subr); prompt = XSUBR (subr)->prompt; return prompt ? list2 (Qinteractive, build_string (prompt)) : Qnil; @@ -660,7 +660,7 @@ indirect_function (Lisp_Object object, int errorp) } if (errorp && UNBOUNDP (hare)) - signal_void_function_error (object); + return signal_void_function_error (object); return hare; } @@ -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 */ @@ -1620,8 +1620,8 @@ make_weak_list (enum weak_list_type type) } static const struct lrecord_description weak_list_description[] = { - { XD_LISP_OBJECT, offsetof(struct weak_list, list), 1 }, - { XD_LO_LINK, offsetof(struct weak_list, next_weak) }, + { XD_LISP_OBJECT, offsetof (struct weak_list, list) }, + { XD_LO_LINK, offsetof (struct weak_list, next_weak) }, { XD_END } }; @@ -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");