view src/unexsol.c @ 112360:3215a5cff4dd

Declare some DEFVARs globally, not locally * gtkutil.h (x_gtk_use_old_file_dialog, x_gtk_show_hidden_files) (x_gtk_file_dialog_help_text, x_gtk_whole_detached_tool_bar): Declare. * gtkutil.c (xg_uses_old_file_dialog): (xg_get_file_with_chooser): (xg_tool_bar_detach_callback): Don't redeclare globals.
author Tom Tromey <tromey@redhat.com>
date Tue, 18 Jan 2011 10:28:28 -0700
parents ef719132ddfa
children
line wrap: on
line source

/* Trivial unexec for Solaris.  */

#include <config.h>
#include <dlfcn.h>
#include <setjmp.h>

#include "lisp.h"
#include "buffer.h"
#include "charset.h"
#include "coding.h"

int
unexec (const char *new_name, const char *old_name)
{
  Lisp_Object data;
  Lisp_Object errstring;

  if (! dldump (0, new_name, RTLD_MEMORY))
    return 0;

  data = Fcons (build_string (new_name), Qnil);
  synchronize_system_messages_locale ();
  errstring = code_convert_string_norecord (build_string (dlerror ()),
					    Vlocale_coding_system, 0);

  xsignal (Qfile_error,
	   Fcons (build_string ("Cannot unexec"), Fcons (errstring, data)));
}