1.0.11.28: Fix one Win32 regression introduced by 1.0.11.26-27.
authorkreuter <kreuter>
Sun, 18 Nov 2007 01:13:40 +0000 (01:13 +0000)
committerkreuter <kreuter>
Sun, 18 Nov 2007 01:13:40 +0000 (01:13 +0000)
* grovel-headers.c now pulls in src/code/runtime.h, and so needs a
  kludge to keep Win32's definition of boolean from conflicting with
  SBCL's.  This kludge already existed in win32-os.c, so I moved it
  into runtime.h.

src/runtime/runtime.h
src/runtime/win32-os.c
version.lisp-expr

index 9525a17..eaa233a 100644 (file)
@@ -141,7 +141,19 @@ native_pointer(lispobj obj)
 #define make_fixnum(n) ((lispobj)((n)<<N_FIXNUM_TAG_BITS))
 #define fixnum_value(n) (((long)n)>>N_FIXNUM_TAG_BITS)
 
-/* Too bad ANSI C doesn't define "bool" as C++ does.. */
+#if defined(LISP_FEATURE_WIN32)
+/* KLUDGE: Avoid double definition of boolean by rpcndr.h included via
+ * shlobj.h.
+ *
+ * FIXME: We should probably arrange to use the rpcndr.h boolean on Windows,
+ * or get rid of our own boolean type.  If the boolean type is only used in
+ * the runtime, and never passed to Lisp, then it doesn't matter which one
+ * we use.
+ */
+#define boolean rpcndr_boolean
+#include <shlobj.h>
+#undef boolean
+#endif
 typedef int boolean;
 
 /* This only works for static symbols. */
index 1d9635f..eab029e 100644 (file)
 #include <sys/stat.h>
 #include <unistd.h>
 
-/* KLUDGE: Avoid double definition of boolean by rpcndr.h included via
- * shlobj.h.
- *
- * FIXME: We should probably arrange to use the rpcndr.h boolean on Windows,
- * or get rid of our own boolean type.
- */
-#define boolean rpcndr_boolean
-#include <shlobj.h>
-#undef boolean
-
 #include <math.h>
 #include <float.h>
 
index 7dc4453..404f2fe 100644 (file)
@@ -17,4 +17,4 @@
 ;;; checkins which aren't released. (And occasionally for internal
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"1.0.11.27"
+"1.0.11.28"