Index: src/IntCell.cc =================================================================== --- src/IntCell.cc (revision 190) +++ src/IntCell.cc (working copy) @@ -296,7 +296,7 @@ { if (value.ival > 0) { - new (Z) FloatCell(log(value.ival)); + new (Z) FloatCell(log(static_cast(value.ival))); } else if (value.ival < 0) { Index: src/Output.cc =================================================================== --- src/Output.cc (revision 190) +++ src/Output.cc (working copy) @@ -21,13 +21,14 @@ #include "../config.h" // for HAVE_ macros from configure #if HAVE_CURSES_H && HAVE_CURSES_H - +#if defined(__sun) && defined(__SVR4) +#define NOMACROS +#endif #include #include -// curses #defines erase() on Solaris, conflicting with vector::erase() -#ifdef erase -#undef erase +#ifdef tab +#undef tab #endif #else @@ -228,7 +229,7 @@ } //----------------------------------------------------------------------------- /// make Solaris happy -#define tparm10(x, y) tparm(x, y, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) +#define tparm10(x, y) tparm(x, y, 0, 0, 0, 0, 0, 0, 0, 0) void Output::set_color_mode(Output::ColorMode mode) Index: src/Output.hh =================================================================== --- src/Output.hh (revision 190) +++ src/Output.hh (working copy) @@ -147,10 +147,10 @@ static bool colors_changed; /// print one byte on stdout - static int putc_stderr(int ch); + static int putc_stderr(TPUTS_arg3 ch); /// print one byte on stderr - static int putc_stdout(int ch); + static int putc_stdout(TPUTS_arg3 ch); /// the current color mode static ColorMode color_mode; Index: src/SkalarFunction.cc =================================================================== --- src/SkalarFunction.cc (revision 190) +++ src/SkalarFunction.cc (working copy) @@ -555,7 +555,7 @@ Value_P Z(new Value(aa, LOC)); -uint32_t idx_B[set_size]; +DynArray(uint32_t, idx_B, set_size); loop(c, set_size) idx_B[c] = c + qio; loop(z, aa) Index: src/ValueHistory.cc =================================================================== --- src/ValueHistory.cc (revision 190) +++ src/ValueHistory.cc (working copy) @@ -30,7 +30,7 @@ #include "Value.hh" #include "ValueHistory.hh" -VH_entry VH_entry::history[VALUEHISTORY_SIZE]; +VH_entry VH_entry::history[VALUEHISTORY_SIZE == 0 ? 1 : VALUEHISTORY_SIZE]; int VH_entry::idx = 0; //---------------------------------------------------------------------------- Index: src/ValueHistory.hh =================================================================== --- src/ValueHistory.hh (revision 190) +++ src/ValueHistory.hh (working copy) @@ -40,7 +40,7 @@ static void init(); - static VH_entry history[VALUEHISTORY_SIZE]; + static VH_entry history[VALUEHISTORY_SIZE == 0 ? 1 : VALUEHISTORY_SIZE]; static int idx; protected: Index: src/emacs_mode/DefCommand.cc =================================================================== --- src/emacs_mode/DefCommand.cc (revision 190) +++ src/emacs_mode/DefCommand.cc (working copy) @@ -24,6 +24,8 @@ #include "../Quad_FX.hh" +#include + static void log_error( Error &error, ostream &out ) { UCS_string l1 = error.get_error_line_1(); Index: src/emacs_mode/FnCommand.cc =================================================================== --- src/emacs_mode/FnCommand.cc (revision 190) +++ src/emacs_mode/FnCommand.cc (working copy) @@ -22,6 +22,8 @@ #include "FnCommand.hh" #include "emacs.hh" +#include + void FnCommand::run_command( NetworkConnection &conn, const std::vector &args ) { std::string name = args[1]; Index: src/emacs_mode/FnTagCommand.cc =================================================================== --- src/emacs_mode/FnTagCommand.cc (revision 190) +++ src/emacs_mode/FnTagCommand.cc (working copy) @@ -24,6 +24,8 @@ #include "../UserFunction.hh" +#include + void FnTagCommand::run_command( NetworkConnection &conn, const std::vector &args ) { std::string name = args[1]; Index: src/emacs_mode/FollowCommand.cc =================================================================== --- src/emacs_mode/FollowCommand.cc (revision 190) +++ src/emacs_mode/FollowCommand.cc (working copy) @@ -26,6 +26,7 @@ #include "LockWrapper.hh" #include "../Symbol.hh" +#include #include #include #include Index: src/emacs_mode/SiCommand.cc =================================================================== --- src/emacs_mode/SiCommand.cc (revision 190) +++ src/emacs_mode/SiCommand.cc (working copy) @@ -22,6 +22,8 @@ #include "SiCommand.hh" #include "emacs.hh" +#include + void SiCommand::run_command( NetworkConnection &conn, const std::vector &args ) { std::stringstream out; Index: src/emacs_mode/SystemFnCommand.cc =================================================================== --- src/emacs_mode/SystemFnCommand.cc (revision 190) +++ src/emacs_mode/SystemFnCommand.cc (working copy) @@ -22,6 +22,8 @@ #include "SystemFnCommand.hh" #include "emacs.hh" +#include + void SystemFnCommand::run_command( NetworkConnection &conn, const std::vector &args ) { stringstream out; Index: src/emacs_mode/SystemVariableCommand.cc =================================================================== --- src/emacs_mode/SystemVariableCommand.cc (revision 190) +++ src/emacs_mode/SystemVariableCommand.cc (working copy) @@ -22,6 +22,8 @@ #include "SystemVariableCommand.hh" #include "emacs.hh" +#include + void SystemVariableCommand::run_command( NetworkConnection &conn, const std::vector &args ) { stringstream out; Index: src/emacs_mode/TcpListener.cc =================================================================== --- src/emacs_mode/TcpListener.cc (revision 190) +++ src/emacs_mode/TcpListener.cc (working copy) @@ -23,6 +23,7 @@ #include "NetworkConnection.hh" #include "TcpListener.hh" +#include #include #include #include Index: src/emacs_mode/TraceData.cc =================================================================== --- src/emacs_mode/TraceData.cc (revision 190) +++ src/emacs_mode/TraceData.cc (working copy) @@ -23,6 +23,8 @@ #include "FollowCommand.hh" #include "../Workspace.hh" +#include + TraceData::TraceData( Symbol *symbol_in ) : symbol( symbol_in ) { } @@ -35,7 +37,7 @@ symbol->set_monitor_callback( symbol_assignment ); } - active_listeners.insert( pair( connection, cr_level ) ); + active_listeners.insert( pair( connection, TraceDataEntry( cr_level ) ) ); } void TraceData::remove_listener( NetworkConnection *connection ) Index: src/emacs_mode/UnixSocketListener.cc =================================================================== --- src/emacs_mode/UnixSocketListener.cc (revision 190) +++ src/emacs_mode/UnixSocketListener.cc (working copy) @@ -23,6 +23,7 @@ #include "UnixSocketListener.hh" #include "NetworkConnection.hh" +#include #include #include #include Index: src/emacs_mode/VariablesCommand.cc =================================================================== --- src/emacs_mode/VariablesCommand.cc (revision 190) +++ src/emacs_mode/VariablesCommand.cc (working copy) @@ -22,6 +22,8 @@ #include "VariablesCommand.hh" #include "emacs.hh" +#include + enum TypeSpec { ALL, VARIABLE, @@ -48,7 +50,7 @@ } int num_symbols = Workspace::symbols_allocated(); - Symbol *symbols[num_symbols]; + Symbol **symbols = new Symbol *[num_symbols]; Workspace::get_all_symbols( symbols, num_symbols ); for( int i = 0 ; i < num_symbols ; i++ ) { Symbol *symbol = symbols[i]; @@ -63,4 +65,6 @@ } conn.send_reply( out.str() ); + + delete[] symbols; } Index: src/emacs_mode/VersionCommand.cc =================================================================== --- src/emacs_mode/VersionCommand.cc (revision 190) +++ src/emacs_mode/VersionCommand.cc (working copy) @@ -22,6 +22,8 @@ #include "VersionCommand.hh" #include "emacs.hh" +#include + void VersionCommand::run_command( NetworkConnection &conn, const std::vector &args ) { stringstream out;