GccStyleErrorMessages
From CSWiki
Causes chuck to generate gcc style/format error messages to make the edit/compile/listen cycle much easier using emacs compilation mode.
--- chuck_errmsg.cpp 2006-09-19 14:54:42.000000000 -0600
+++ chuck_errmsg.cpp 2006-10-14 22:23:33.000000000 -0600
@@ -40,6 +40,8 @@
#include "util_thread.h"
+#define GCC_STYLE_ERROR_MESSAGES
+
// global
int EM_tokPos = 0;
int EM_lineNum = 1;
@@ -128,6 +130,13 @@
num--;
}
+#ifdef GCC_STYLE_ERROR_MESSAGES
+ fprintf(stderr, "%s:%d: error: ", *fileName ? mini(fileName) : "chuck", num);
+ va_start(ap, message);
+ vfprintf(stderr, message, ap);
+ va_end(ap);
+ fprintf(stderr, "\n");
+#else
fprintf( stderr, "[%s]:", *fileName ? mini(fileName) : "chuck" );
sprintf( g_lasterror, "[%s]:", *fileName ? mini(fileName) : "chuck" );
if(lines)
@@ -145,6 +154,7 @@
fprintf(stderr, "\n");
fflush( stderr );
strcat( g_lasterror, g_buffer );
+#endif
}
@@ -153,6 +163,14 @@
{
va_list ap;
+
+#ifdef GCC_STYLE_ERROR_MESSAGES
+ fprintf(stderr, "%s:%d: error: ", *fileName ? mini(fileName) : "chuck", line);
+ va_start(ap, message);
+ vfprintf(stderr, message, ap);
+ va_end(ap);
+ fprintf(stderr, "\n");
+#else
fprintf( stderr, "[%s]:", *fileName ? mini(fileName) : "chuck" );
sprintf( g_lasterror, "[%s]:", *fileName ? mini(fileName) : "chuck" );
if(line)
@@ -171,6 +189,7 @@
strcat( g_lasterror, g_buffer );
fprintf( stderr, "\n" );
+#endif
fflush( stderr );
}
@@ -180,6 +199,13 @@
{
va_list ap;
+#ifdef GCC_STYLE_ERROR_MESSAGES
+ fprintf(stderr, "%s:%d: error: ", *fileName ? mini(fileName) : "chuck", line);
+ va_start(ap, message);
+ vfprintf(stderr, message, ap);
+ va_end(ap);
+ fprintf(stderr, "\n");
+#else
fprintf( stderr, "[%s]:", *fileName ? mini(fileName) : "chuck" );
sprintf( g_lasterror, "[%s]:", *fileName ? mini(fileName) : "chuck" );
if(line)
@@ -190,7 +216,8 @@
}
fprintf( stderr, " " );
strcat( g_lasterror, " " );
-
+#endif
+
va_start( ap, message );
vfprintf( stderr, message, ap );
vsprintf( g_buffer, message, ap );
