Mercurial > hg > xemacs-beta
comparison src/dynarr.c @ 5023:838630c0734f
error-checking, Windows shutdown changes
-------------------- ChangeLog entries follow: --------------------
src/ChangeLog addition:
2010-02-09 Ben Wing <ben@xemacs.org>
* dynarr.c (Dynarr_insert_many):
* dynarr.c (Dynarr_delete_many):
* emacs.c:
* emacs.c (pause_so_user_can_read_messages):
* emacs.c (Fkill_emacs):
* emacs.c (guts_of_fatal_error_signal):
* lisp.h:
* lisp.h (INLINE_ERROR_CHECK_ARGS):
* lisp.h (Dynarr_set_length_1):
* lisp.h (Dynarr_set_length):
* lisp.h (Dynarr_pop):
Add ERROR_CHECK_DYNARR, dynarr_checking_assert(). Use it.
Sort existing error-check categories in lisp.h, remove most of the
(unused) assert variations from most categories. Add a long
comment about reorganizing the system by categories and
subcategories. Create ERROR_CHECK_ANY if any error-checking
categories defined, and use it in emacs.c to define
USER_IS_DEVELOPING_XEMACS.
In emacs.c and cmdloop.c, don't display a message at early
shutdown or fatal shutdown when on Cygwin, only Windows native --
Cygwin has a working stderr that shows error output.
Update comment in Dynarr_verify_pos_atp().
author | Ben Wing <ben@xemacs.org> |
---|---|
date | Tue, 09 Feb 2010 19:13:44 -0600 |
parents | 16112448d484 |
children | 9410323e4b0d b5df3737028a |
comparison
equal
deleted
inserted
replaced
5022:cfe36e196dc7 | 5023:838630c0734f |
---|---|
243 | 243 |
244 Dynarr_resize_if (dy, len); | 244 Dynarr_resize_if (dy, len); |
245 | 245 |
246 /* #### This could conceivably be wrong, if code wants to access stuff | 246 /* #### This could conceivably be wrong, if code wants to access stuff |
247 between len and largest. */ | 247 between len and largest. */ |
248 structure_checking_assert (start >= 0 && start <= Dynarr_length (dy)); | 248 dynarr_checking_assert (start >= 0 && start <= Dynarr_length (dy)); |
249 | 249 |
250 if (start != Dynarr_length (dy)) | 250 if (start != Dynarr_length (dy)) |
251 { | 251 { |
252 memmove ((char *) dy->base + (start + len)*dy->elsize, | 252 memmove ((char *) dy->base + (start + len)*dy->elsize, |
253 (char *) dy->base + start*dy->elsize, | 253 (char *) dy->base + start*dy->elsize, |
265 void | 265 void |
266 Dynarr_delete_many (void *d, int start, int len) | 266 Dynarr_delete_many (void *d, int start, int len) |
267 { | 267 { |
268 Dynarr *dy = Dynarr_verify_mod (d); | 268 Dynarr *dy = Dynarr_verify_mod (d); |
269 | 269 |
270 structure_checking_assert (start >= 0 && len >= 0 && | 270 dynarr_checking_assert (start >= 0 && len >= 0 && |
271 start + len <= Dynarr_length (dy)); | 271 start + len <= Dynarr_length (dy)); |
272 | 272 |
273 memmove ((char *) dy->base + start*dy->elsize, | 273 memmove ((char *) dy->base + start*dy->elsize, |
274 (char *) dy->base + (start + len)*dy->elsize, | 274 (char *) dy->base + (start + len)*dy->elsize, |
275 (Dynarr_length (dy) - start - len)*dy->elsize); | 275 (Dynarr_length (dy) - start - len)*dy->elsize); |
276 | 276 |