diff --git a/src/beval.h b/src/beval.h
index 60cf1ab..ffe47ff 100644
--- a/src/beval.h
+++ b/src/beval.h
@@ -24,51 +24,51 @@
 
 typedef enum
 {
-    ShS_NEUTRAL,			/* nothing showing or pending */
-    ShS_PENDING,			/* data requested from debugger */
-    ShS_UPDATE_PENDING,			/* switching information displayed */
-    ShS_SHOWING				/* the balloon is being displayed */
+    ShS_NEUTRAL,			// nothing showing or pending
+    ShS_PENDING,			// data requested from debugger
+    ShS_UPDATE_PENDING,			// switching information displayed
+    ShS_SHOWING				// the balloon is being displayed
 } BeState;
 
 typedef struct BalloonEvalStruct
 {
 #ifdef FEAT_BEVAL_GUI
 # ifdef FEAT_GUI_GTK
-    GtkWidget		*target;	/* widget we are monitoring */
+    GtkWidget		*target;	// widget we are monitoring
     GtkWidget		*balloonShell;
     GtkWidget		*balloonLabel;
-    unsigned int	timerID;	/* timer for run */
-    BeState		showState;	/* tells us whats currently going on */
+    unsigned int	timerID;	// timer for run
+    BeState		showState;	// tells us whats currently going on
     int			x;
     int			y;
-    unsigned int	state;		/* Button/Modifier key state */
+    unsigned int	state;		// Button/Modifier key state
 # else
 #  if !defined(FEAT_GUI_MSWIN)
-    Widget		target;		/* widget we are monitoring */
+    Widget		target;		// widget we are monitoring
     Widget		balloonShell;
     Widget		balloonLabel;
-    XtIntervalId	timerID;	/* timer for run */
-    BeState		showState;	/* tells us whats currently going on */
-    XtAppContext	appContext;	/* used in event handler */
+    XtIntervalId	timerID;	// timer for run
+    BeState		showState;	// tells us whats currently going on
+    XtAppContext	appContext;	// used in event handler
     Position		x;
     Position		y;
     Position		x_root;
     Position		y_root;
-    int			state;		/* Button/Modifier key state */
+    int			state;		// Button/Modifier key state
 #  else
     HWND		target;
     HWND		balloon;
     int			x;
     int			y;
-    BeState		showState;	/* tells us whats currently going on */
+    BeState		showState;	// tells us whats currently going on
 #  endif
 # endif
 # if !defined(FEAT_GUI_GTK) && !defined(FEAT_GUI_MSWIN)
-    Dimension		screen_width;	/* screen width in pixels */
-    Dimension		screen_height;	/* screen height in pixels */
+    Dimension		screen_width;	// screen width in pixels
+    Dimension		screen_height;	// screen height in pixels
 # endif
     void		(*msgCB)(struct BalloonEvalStruct *, int);
-    void		*clientData;	/* For callback */
+    void		*clientData;	// For callback
 #endif
 
     int			ts;		// tabstop setting for this buffer
@@ -81,11 +81,11 @@
 #endif
 } BalloonEval;
 
-#define EVAL_OFFSET_X 15 /* displacement of beval topleft corner from pointer */
+#define EVAL_OFFSET_X 15 // displacement of beval topleft corner from pointer
 #define EVAL_OFFSET_Y 10
 
 #ifdef FEAT_BEVAL_GUI
 # include "gui_beval.pro"
 #endif
 
-#endif /* BEVAL__H and FEAT_BEVAL_GUI */
+#endif // BEVAL__H and FEAT_BEVAL_GUI
