view netinstall/msg.cc @ 528:ef4d2466a29c

[xemacs-hg @ 2001-05-10 09:59:45 by ben] implement user-name-all-completions under Windows. xemacs.mak: need another lib (netapi32.lib) for user-name-all-completions. emacs.c: create new function force-debugging-signal (only when DEBUG_XEMACS) to breakpoint or abort to the debugger. mule\mule-coding.el, file-coding.c, file-coding.h, lisp.h: move coding-system-charset to lisp to avoid doc warning. autoload.el, packages.el, startup.el, update-elc-2.el, update-elc.el: Rewrite much of the bootstrapping process to be more robust, and in particular to rebuild the auto-autoloads and custom-loads files no matter what state (including missing) they're currently in. xemacs.mak: remove autoload-building target. Makefile.in.in: remove autoload targets.
author ben
date Thu, 10 May 2001 09:59:57 +0000
parents 20ae8821c23d
children 685b588e92d8
line wrap: on
line source

/*
 * Copyright (c) 2000, Red Hat, Inc.
 *
 *     This program is free software; you can redistribute it and/or modify
 *     it under the terms of the GNU General Public License as published by
 *     the Free Software Foundation; either version 2 of the License, or
 *     (at your option) any later version.
 *
 *     A copy of the GNU General Public License can be found at
 *     http://www.gnu.org/
 *
 * Written by DJ Delorie <dj@cygnus.com>
 *
 */

/* The purpose of this file is to centralize all the message
   functions. */

static char *cvsid = "\n%%% $Id: msg.cc,v 1.3 2001/04/13 09:11:35 michaels Exp $\n";

#include "win32.h"
#include <stdio.h>
#include <stdarg.h>
#include "dialog.h"
#include "log.h"

void
msg (char *fmt, ...)
{
  char buf[1000];
  va_list args;
  va_start (args, fmt);
  vsprintf (buf, fmt, args);
  OutputDebugString (buf);
}

static int
mbox (char *name, int type, int id, va_list args)
{
  char buf[1000], fmt[1000];

  if (LoadString (hinstance, id, fmt, sizeof (fmt)) <= 0)
    ExitProcess (0);

  vsprintf (buf, fmt, args);
  log (0, "mbox %s: %s", name, buf);
  return MessageBox (0, buf, "XEmacs Setup", type | MB_TOPMOST);
}

void
note (int id, ...)
{
  va_list args;
  va_start (args, id);
  mbox ("note", 0, id, args);
}

void
fatal (int id, ...)
{
  va_list args;
  va_start (args, id);
  mbox ("fatal", 0, id, args);
  exit_setup (1);
}

int
yesno (int id, ...)
{
  va_list args;
  va_start (args, id);
  return mbox ("yesno", MB_YESNO, id, args);
}