diff src/lisp.h @ 1650:34abfb24e891

[xemacs-hg @ 2003-08-28 15:44:04 by james] Fix the C++ build, with many module-specific fixes.
author james
date Thu, 28 Aug 2003 15:44:30 +0000
parents 64eaceca611d
children 9fc738581a9d
line wrap: on
line diff
--- a/src/lisp.h	Wed Aug 27 21:52:30 2003 +0000
+++ b/src/lisp.h	Thu Aug 28 15:44:30 2003 +0000
@@ -1005,6 +1005,10 @@
    data of TYPE. */
 #define ALIGN_PTR(ptr, type) ((void *) ALIGN_FOR_TYPE ((size_t) (ptr), type))
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 /* ------------------------ assertions ------------------- */
 
 /* We define assert iff USE_ASSERTIONS or DEBUG_XEMACS is defined.
@@ -1672,12 +1676,20 @@
 
 /* OK, you can open them again */
 
+#ifdef __cplusplus
+}
+#endif
+
 /************************************************************************/
 /**		     Definitions of basic Lisp objects		       **/
 /************************************************************************/
 
 #include "lrecord.h"
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 /*------------------------------ unbound -------------------------------*/
 
 /* Qunbound is a special Lisp_Object (actually of type
@@ -2827,6 +2839,9 @@
 int finish_marking_weak_lists (void);
 void prune_weak_lists (void);
 
+#ifdef __cplusplus
+}
+#endif
 
 /************************************************************************/
 /*      Definitions related to the format of text and of characters     */
@@ -2954,6 +2969,10 @@
 
 #include "symeval.h"
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 /* `specpdl' is the special binding/unwind-protect stack.
 
    Knuth says (see the Jargon File):
@@ -3138,6 +3157,10 @@
 
 extern MODULE_API struct gcpro *gcprolist;
 
+#ifdef __cplusplus
+}
+#endif
+
 /* #### Catching insufficient gcpro:
 
    The C++ code below catches GCPRO without UNGCPRO or vice-versa.
@@ -3204,6 +3227,10 @@
    and so some "This function can GC" comments may be inaccurate.
 */
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 #ifdef DEBUG_GCPRO
 
 MODULE_API void debug_gcpro1 (char *, int, struct gcpro *, Lisp_Object *);
@@ -3499,6 +3526,10 @@
 int begin_gc_forbidden (void);
 void end_gc_forbidden (int count);
 
+#ifdef __cplusplus
+}
+#endif
+
 
 /************************************************************************/
 /*		              Misc definitions        	                */
@@ -3523,6 +3554,10 @@
 /* Prototypes for all init/syms_of/vars_of initialization functions. */
 #include "symsinit.h"
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 /* Defined in abbrev.c */
 MODULE_API EXFUN (Fexpand_abbrev, 0);
 
@@ -5263,4 +5298,8 @@
 extern Lisp_Object Vthis_command_keys, Vunread_command_event;
 extern Lisp_Object Vx_initial_argv_list;
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif /* INCLUDED_lisp_h_ */