Mercurial > hg > xemacs-beta
view src/s/mach-bsd4-3.h @ 4847:05c519de7353
be more careful when printing to check for bad objects
-------------------- ChangeLog entries follow: --------------------
src/ChangeLog addition:
2010-01-13 Ben Wing <ben@xemacs.org>
* print.c:
* print.c (internal_object_printer):
* print.c (enum printing_badness):
* print.c (printing_major_badness):
* print.c (print_internal):
Clean up the part of the code that looks for things that might
lead to crashing in the print code:
-- Make the "badness" messages more consistent.
-- Move the checks for circularities after the checks for bad
memory, since the checks for circularities involve accessing
memory (which could be bad).
-- Add an extra check to see if the object's implementation structure
is bad memory.
-- Add extra check for object itself being a null pointer or
implementation pointer being null.
-- Add some extra comments to help in maintaining the code.
author | Ben Wing <ben@xemacs.org> |
---|---|
date | Wed, 13 Jan 2010 06:02:42 -0600 |
parents | 3ecd8885ac67 |
children | c90385e49231 |
line wrap: on
line source
/* Synched up with: FSF 19.31. */ /* I don't care if this doesn't do more than including bsd4-3.h; Mach is not bsd4-3 and the moment you forget it chances are that you're in deep shit. */ #include "bsd4-3.h" /* The rest of this stuff is XEmacs additions. */ /* SYSTEM_TYPE should indicate the kind of system you are using. It sets the Lisp variable system-type. */ #undef SYSTEM_TYPE #define SYSTEM_TYPE "mach" /* Don't send signals to subprocesses by "typing" special chars at them. */ #undef SIGNALS_VIA_CHARACTERS /* XEmacs change */ /* unistd.h defines _POSIX_VERSION, which leads some things to believe that _POSIX_PATH_MAX should be defined. Unfortunately, it isn't. */ #ifndef NOT_C_CODE #include <sys/param.h> #define _POSIX_PATH_MAX MAXPATHLEN #endif #ifndef NOT_C_CODE typedef int pid_t; /* XEmacs change */ typedef unsigned short mode_t; #endif /* NOT_C_CODE */ #if (defined(i386) || defined(ibmrt)) /* use drem() instead of fmod() -- this is a BUG in the compiler runtime. */ # define USE_DREM #endif