179
179
Cnil->symbol.t = (short)t_symbol;
180
180
Cnil->symbol.dynamic = 0;
181
181
Cnil->symbol.value = Cnil;
182
Cnil->symbol.name = make_constant_string("NIL");
182
Cnil->symbol.name = make_constant_base_string("NIL");
183
183
Cnil->symbol.gfdef = Cnil;
184
184
Cnil->symbol.plist = Cnil;
185
185
Cnil->symbol.hpack = Cnil;
204
204
cl_core.packages_to_be_created = OBJNULL;
206
206
cl_core.lisp_package =
207
make_package(make_constant_string("COMMON-LISP"),
208
CONS(make_constant_string("CL"),
209
CONS(make_constant_string("LISP"),Cnil)),
207
make_package(make_constant_base_string("COMMON-LISP"),
208
CONS(make_constant_base_string("CL"),
209
CONS(make_constant_base_string("LISP"),Cnil)),
211
211
cl_core.user_package =
212
make_package(make_constant_string("COMMON-LISP-USER"),
213
CONS(make_constant_string("CL-USER"),
214
CONS(make_constant_string("USER"),Cnil)),
212
make_package(make_constant_base_string("COMMON-LISP-USER"),
213
CONS(make_constant_base_string("CL-USER"),
214
CONS(make_constant_base_string("USER"),Cnil)),
215
215
CONS(cl_core.lisp_package, Cnil));
216
cl_core.keyword_package = make_package(make_constant_string("KEYWORD"),
216
cl_core.keyword_package = make_package(make_constant_base_string("KEYWORD"),
218
cl_core.system_package = make_package(make_constant_string("SI"),
219
CONS(make_constant_string("SYSTEM"),
220
CONS(make_constant_string("SYS"),
221
CONS(make_constant_string("EXT"),
218
cl_core.system_package = make_package(make_constant_base_string("SI"),
219
CONS(make_constant_base_string("SYSTEM"),
220
CONS(make_constant_base_string("SYS"),
221
CONS(make_constant_base_string("EXT"),
223
223
CONS(cl_core.lisp_package, Cnil));
225
cl_core.clos_package = make_package(make_constant_string("CLOS"),
225
cl_core.clos_package = make_package(make_constant_base_string("CLOS"),
226
226
Cnil, CONS(cl_core.lisp_package, Cnil));
228
228
#ifdef ECL_THREADS
229
cl_core.mp_package = make_package(make_constant_string("MP"),
230
CONS(make_constant_string("MULTIPROCESSING"), Cnil),
229
cl_core.mp_package = make_package(make_constant_base_string("MP"),
230
CONS(make_constant_base_string("MULTIPROCESSING"), Cnil),
231
231
CONS(cl_core.lisp_package, Cnil));
258
258
make_shortfloat(0.5f), /* rehash-threshold */
259
259
Cnil); /* thread-safe */
260
260
for (i = 0; char_names[i].code >= 0; i++) {
261
cl_object name = make_constant_string(char_names[i].name);
261
cl_object name = make_constant_base_string(char_names[i].name);
262
262
cl_object code = CODE_CHAR(char_names[i].code);
263
263
sethash(name, aux, code);
264
264
sethash(code, aux, name);
267
cl_core.null_string = make_constant_string("");
267
cl_core.null_string = make_constant_base_string("");
269
269
cl_core.null_stream = @make_broadcast_stream(0);
274
274
make_shortfloat(0.75f), /* rehash-threshold */
275
275
Ct); /* thread-safe */
277
cl_core.gensym_prefix = make_constant_string("G");
278
cl_core.gentemp_prefix = make_constant_string("T");
277
cl_core.gensym_prefix = make_constant_base_string("G");
278
cl_core.gentemp_prefix = make_constant_base_string("T");
279
279
cl_core.gentemp_counter = MAKE_FIXNUM(0);
281
281
/* LIBRARIES is an adjustable vector of objects. It behaves as a vector of
331
331
make_pathname(Cnil, Cnil, Cnil, Cnil, Cnil, Cnil));
334
@si::pathname-translations(2,make_constant_string("SYS"),
335
cl_list(1,cl_list(2,make_constant_string("*.*"),
336
make_constant_string("./*.*"))));
334
@si::pathname-translations(2,make_constant_base_string("SYS"),
335
cl_list(1,cl_list(2,make_constant_base_string("*.*"),
336
make_constant_base_string("./*.*"))));
339
339
* 5) Set up hooks for LOAD, errors and macros.
346
346
#ifdef ENABLE_DLOPEN
347
6,CONS(make_constant_string("fas"), @'si::load-binary'),
347
6,CONS(make_constant_base_string("fas"), @'si::load-binary'),
351
CONS(make_constant_string("lsp"), @'si::load-source'),
352
CONS(make_constant_string("lisp"), @'si::load-source'),
353
CONS(make_constant_string("LSP"), @'si::load-source'),
354
CONS(make_constant_string("LISP"), @'si::load-source'),
351
CONS(make_constant_base_string("lsp"), @'si::load-source'),
352
CONS(make_constant_base_string("lisp"), @'si::load-source'),
353
CONS(make_constant_base_string("LSP"), @'si::load-source'),
354
CONS(make_constant_base_string("LISP"), @'si::load-source'),
355
355
CONS(Cnil, @'si::load-source'));
356
356
ECL_SET(@'si::*load-hooks*', aux);
501
504
cl_fixnum ret_val;
503
assert_type_string(var);
506
assert_type_base_string(var);
504
507
if (value == Cnil) {
505
508
#ifdef HAVE_SETENV
506
509
/* Remove the variable when setting to nil, so that
507
510
* (si:setenv "foo" nil), then (si:getenv "foo) returns
508
511
* the right thing. */
509
unsetenv(var->string.self);
512
unsetenv(var->base_string.self);
511
514
#if defined(_MSC_VER) || defined(mingw32)
512
si_setenv(var, make_simple_string(""));
515
si_setenv(var, make_simple_base_string(""));
514
putenv(var->string.self);
517
putenv(var->base_string.self);
519
522
#ifdef HAVE_SETENV
520
assert_type_string(value);
521
ret_val = setenv(var->string.self, value->string.self, 1);
523
assert_type_base_string(value);
524
ret_val = setenv(var->base_string.self, value->base_string.self, 1);
524
cl_format(4, Cnil, make_constant_string("~A=~A"), var,
527
cl_format(4, Cnil, make_constant_base_string("~A=~A"), var,
526
if (temp->string.hasfillp && temp->string.fillp < temp->string.dim)
527
temp->string.self[temp->string.fillp] = '\0';
528
putenv(temp->string.self);
529
if (temp->base_string.hasfillp && temp->base_string.fillp < temp->base_string.dim)
530
temp->base_string.self[temp->base_string.fillp] = '\0';
531
putenv(temp->base_string.self);
531
534
if (ret_val == -1)