diff --git a/mozilla/js/ref/js.c b/mozilla/js/ref/js.c index 6792927e518..89baac7e096 100644 --- a/mozilla/js/ref/js.c +++ b/mozilla/js/ref/js.c @@ -62,6 +62,28 @@ #ifdef XP_MAC #define isatty(f) 1 + +#include +#include + +static char* mac_argv[] = { "js", NULL }; + +static void initConsole(StringPtr consoleName, const char* startupMessage, int *argc, char** *argv) +{ + SIOUXSettings.autocloseonquit = true; + SIOUXSettings.asktosaveonclose = false; + // SIOUXSettings.initializeTB = false; + // SIOUXSettings.showstatusline = true; + puts(startupMessage); + SIOUXSetTitle(consoleName); + + // set up a buffer for stderr (otherwise it's a pig). + setvbuf(stderr, malloc(BUFSIZ), _IOLBF, BUFSIZ); + + *argc = 1; + *argv = mac_argv; +} + #endif #ifndef JSFILE @@ -1241,6 +1263,10 @@ main(int argc, char **argv) setbuf(stderr,0); #endif +#ifdef XP_MAC + initConsole("\pJavaScript Shell", "Welcome to js shell.", &argc, &argv); +#endif + version = JSVERSION_DEFAULT; argc--; argv++;