2005-01-13  Andrew Cagney  <cagney@gnu.org>
 
+       * exceptions.h (struct exception): Make message const.
+       * mi/mi-main.c (mi_execute_command): Pass result.message directly
+       to fputstr_unfiltered.
+
        * defs.h (error_last_message, error_init): Delete declaration.
        * utils.c (fatal, vfatal): Call throw_vfatal.
        (error, verror): Call throw_verror;
 
        }
       if (result.reason < 0)
        {
-         char *msg = result.message;
-         struct cleanup *cleanup = make_cleanup (xfree, msg);
          /* The command execution failed and error() was called
             somewhere */
          fputs_unfiltered (command->token, raw_stdout);
          fputs_unfiltered ("^error,msg=\"", raw_stdout);
-         fputstr_unfiltered (msg, '"', raw_stdout);
+         fputstr_unfiltered (result.message, '"', raw_stdout);
          fputs_unfiltered ("\"\n", raw_stdout);
        }
       mi_parse_free (command);