view netinstall/dialog.h @ 4448:fd8a9a4d81d9

Support #!, to allow XEmacs to be called as a script interpreter. ChangeLog addition: 2008-01-20 Aidan Kehoe <kehoea@parhasard.net> * Makefile.in.in (SHEBANG_PROGNAME): New variable; a symbol link to the XEmacs binary to tell it it should read a script from stdin. * configure.ac (XE_EXPAND_VARIABLE): Set SHEBANG_PROGNAME. * configure: Regenerate. src/ChangeLog addition: 2008-01-20 Aidan Kehoe <kehoea@parhasard.net> * config.h.in: Add SHEBANG_PROGNAME. * emacs.c (main_1): If we've been called using SHEBANG_PROGNAME, rewrite our arguments to add a --script argument. Also, handle the --script argument by setting noninteractive and vanilla. * lread.c (Fload_internal): If the first two characters of a file are #!, replace them with ;! before they get to the Lisp reader. lisp/ChangeLog addition: 2008-01-20 Aidan Kehoe <kehoea@parhasard.net> * startup.el (command-line-do-script): New. (command-switch-alist): Use command-line-do-script. New argument, compatible with GNU; --script or -script says "treat the following argument as a file to load in batch mode". man/ChangeLog addition: 2008-01-20 Aidan Kehoe <kehoea@parhasard.net> * xemacs/cmdargs.texi (Command Switches): Describe --script, -script.
author Aidan Kehoe <kehoea@parhasard.net>
date Sun, 20 Jan 2008 19:53:54 +0100
parents ce0b3f2eff35
children
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>
 *
 */

/* global instance for the application; set in main.cc */
extern HINSTANCE hinstance;

/* used by main.cc to select the next do_* function */
extern int next_dialog;

/* either "nothing to do" or "setup complete" or something like that */
extern int exit_msg;

#define D(x) void x(HINSTANCE _h)

/* prototypes for all the do_* functions (most called by main.cc) */

D(do_choose);
D(do_desktop);
D(do_download);
D(do_fromcwd);
D(do_ini);
D(do_init);
D(do_install);
D(do_local_dir);
D(do_net);
D(do_other);
D(do_postinstall);
D(do_uninstall);
D(do_root);
D(do_site);
D(do_source);
D(do_splash);

#undef D

/* end this dialog and select the next.  Pass 0 to exit the program */
#define NEXT(id) EndDialog((HWND)h, 0), next_dialog = id

/* Get the value of an EditText control.  Pass the previously stored
   value and it will free the memory if needed. */
 
char *eget (HWND h, int id, char *var);

/* Same, but convert the value to an integer */

int   eget (HWND h, int id);

/* Set the EditText control to the given string or integer */

void  eset (HWND h, int id, char *var);
void  eset (HWND h, int id, int var);

/* RadioButtons.  ids is a null-terminated list of IDs.  Get
   returns the selected ID (or zero), pass an ID to set */

int   rbget (HWND h, int *ids);
void  rbset (HWND h, int *ids, int id);

/* *This* version of fatal (compare with msg.h) uses GetLastError() to
   format a suitable error message.  Similar to perror() */

void fatal (char *msg);