* dynwind.c (scm_swap_bindings): Ditto.
[bpt/guile.git] / libguile / keywords.h
index 6c122b8..0eda0e8 100644 (file)
@@ -42,6 +42,9 @@
  * If you write modifications of your own for GUILE, it is your choice
  * whether to permit this exception to apply to your modifications.
  * If you do not wish that, delete this exception notice.  */
+
+/* Software engineering face-lift by Greg J. Badros, 11-Dec-1999,
+   gjb@cs.washington.edu, http://www.cs.washington.edu/homes/gjb */
 \f
 
 #include "libguile/__scm.h"
@@ -49,7 +52,7 @@
 \f
 
 extern int scm_tc16_keyword;
-#define SCM_KEYWORDP(X)                (SCM_CAR(X) == scm_tc16_keyword)
+#define SCM_KEYWORDP(X)                (SCM_NIMP(X) && (SCM_UNPACK_CAR (X) == scm_tc16_keyword))
 #define SCM_KEYWORDSYM(X)      (SCM_CDR(X))
 
 \f
@@ -62,3 +65,9 @@ extern SCM scm_keyword_dash_symbol (SCM keyword);
 extern void scm_init_keywords (void);
 
 #endif  /* KEYWORDSH */
+
+/*
+  Local Variables:
+  c-file-style: "gnu"
+  End:
+*/