combination method is not signalled until the faulty method is called.
* bug fix: iteration variable type inferrer failed to deal with open
intervals. (reported by Alan Shields)
+ * bug fix: dynamically loading (via LOAD-SHARED-OBJECT or similar)
+ "frameworks" on Mac OS X no longer causes an EXC_BAD_ACCESS if two
+ or more runtime options were provided to the sbcl binary.
* compiled code is not steppable if COMPILATION-SPEED >= DEBUG.
* contrib improvement: implement SB-POSIX:MKSTEMP (Yannick Gingras)
* optimization: There's now a fast-path for fixnum arguments in the
/* the name of the core file we're to execute. Note that this is
* a malloc'ed string which should be freed eventually. */
char *core = 0;
+ char **sbcl_argv = 0;
/* other command line options */
boolean noinform = 0;
{
char *argi0 = argv[argi];
int argj = 1;
+ /* (argc - argi) for the arguments, one for the binary,
+ and one for the terminating NULL. */
+ sbcl_argv = successful_malloc((2 + argc - argi) * sizeof(char *));
+ sbcl_argv[0] = argv[0];
while (argi < argc) {
char *arg = argv[argi++];
/* If we encounter --end-runtime-options for the first
0 == strcmp(arg, "--end-runtime-options")) {
lose("bad runtime option \"%s\"", argi0);
}
- argv[argj++] = arg;
+ sbcl_argv[argj++] = arg;
}
- argv[argj] = 0;
- argc = argj;
+ sbcl_argv[argj] = 0;
}
}
/* Convert remaining argv values to something that Lisp can grok. */
SHOW("setting POSIX-ARGV symbol value");
- SetSymbolValue(POSIX_ARGV, alloc_base_string_list(argv),0);
+ SetSymbolValue(POSIX_ARGV, alloc_base_string_list(sbcl_argv),0);
+ free(sbcl_argv);
/* Install a handler to pick off SIGINT until the Lisp system gets
* far enough along to install its own handler. */
;;; checkins which aren't released. (And occasionally for internal
;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.9.0.27"
+"0.9.0.28"