;;;; -*- coding: utf-8; -*-
changes in sbcl-0.9.12 relative to sbcl-0.9.11:
+ * new feature: command line options --no-sysinit, --no-userinit to
+ inhibit loading the corresponding init files
* bug fix: LISTEN sometimes returned T even in cases where no data was
immediately available from the stream
* fixed bug: types of the last two arguments to SET-SYNTAX-FROM-CHAR
@item --sysinit @var{filename}
Load filename instead of the default system initialization file
-(@pxref{System Initialization File}.) There is no special option to
-cause no system initialization file to be read, but on a Unix
-system ``@code{"--sysinit /dev/null}'' can be used to achieve the same
-effect.
+(@pxref{System Initialization File}.)
+
+@item --no-sysinit
+Don't load a system-wide initialization file. If this option is given,
+the @code{--sysinit} option is ignored.
@item --userinit @var{filename}
Load filename instead of the default user initialization file
-(@pxref{User Initialization File}.) There is no special option to
-cause no user initialization file to be read, but ``@code{--userinit
-/dev/null}'' can be used to achieve the same effect.
+(@pxref{User Initialization File}.)
+
+@item --no-userinit
+Don't load a user initialization file. If this option is given,
+the @code{--userinit} option is ignored.
@item --eval @var{command}
After executing any initialization file, but before starting the
.TP 3
.B \-\-sysinit <filename>
Load filename instead of the default system-wide initialization file.
-(See the FILES section.) There is no special option to cause no
-system-wide initialization file to be read, but on a Unix system
-"\-\-sysinit /dev/null" can be used to achieve the same effect.
+(See the FILES section.)
+.TP 3
+.B \-\-no\-sysinit
+Do not load a system-wide initialization file. If this option is
+given, the \-\-sysinit option is ignored.
.TP 3
.B \-\-userinit <filename>
Load filename instead of the default user initialization file. (See
-the FILES section.) There is no special option to cause no user
-initialization file to be read, but on a Unix system "\-\-userinit
-/dev/null" can be used to achieve the same effect.
+the FILES section.)
+.TP 3
+.B \-\-no\-userinit
+Do not load a user initialization file. If this option is
+given, the \-\-userinit option is ignored.
.TP 3
.B \-\-eval <command>
After executing any initialization file, but before starting the
echo //doing warm init
./src/runtime/sbcl \
--core output/cold-sbcl.core \
---sysinit /dev/null --userinit /dev/null < make-target-2.lisp
+--no-sysinit --no-userinit < make-target-2.lisp
export SBCL_HOME
-SBCL="$SBCL_BASE/src/runtime/sbcl --noinform --core $SBCL_BASE/output/sbcl.core --disable-debugger"
+SBCL="$SBCL_BASE/src/runtime/sbcl --noinform --core $SBCL_BASE/output/sbcl.core --disable-debugger --no-sysinit --no-userinit"
SBCL_BUILDING_CONTRIB=1
export SBCL SBCL_BUILDING_CONTRIB
build_started=`date`
echo "//starting build: $build_started"
-SBCL_XC_HOST="${1:-sbcl --disable-debugger --userinit /dev/null --sysinit /dev/null}"
+if [ "$OSTYPE" = "cygwin" -o "$OSTYPE" = "msys" ] ; then
+ SBCL_XC_HOST="${1:-sbcl --disable-debugger --userinit NUL --sysinit NUL}"
+else
+ SBCL_XC_HOST="${1:-sbcl --disable-debugger --userinit /dev/null --sysinit /dev/null}"
+fi
export SBCL_XC_HOST
echo //SBCL_XC_HOST=\"$SBCL_XC_HOST\"
(/show0 "entering TOPLEVEL-INIT")
(let (;; value of --sysinit option
(sysinit nil)
+ ;; t if --no-sysinit option given
+ (no-sysinit nil)
;; value of --userinit option
(userinit nil)
+ ;; t if --no-userinit option given
+ (no-userinit nil)
;; values of --eval options, in reverse order; and also any
;; other options (like --load) which're translated into --eval
;;
(if sysinit
(startup-error "multiple --sysinit options")
(setf sysinit (pop-option))))
+ ((string= option "--no-sysinit")
+ (pop-option)
+ (setf no-sysinit t))
((string= option "--userinit")
(pop-option)
(if userinit
(startup-error "multiple --userinit options")
(setf userinit (pop-option))))
+ ((string= option "--no-userinit")
+ (pop-option)
+ (setf no-userinit t))
((string= option "--eval")
(pop-option)
(push (pop-option) reversed-evals))
;; figure out what's going on.)
(restart-case
(progn
- (process-init-file sysinit-truename)
- (process-init-file userinit-truename)
+ (unless no-sysinit (process-init-file sysinit-truename))
+ (unless no-userinit (process-init-file userinit-truename))
(process-eval-options (reverse reversed-evals)))
(abort ()
:report "Skip to toplevel READ/EVAL/PRINT loop."
\n\
One option idiom which is sometimes useful interactively (e.g. when\n\
exercising a test case for a bug report) is\n\
- sbcl --sysinit /dev/null --userinit /dev/null\n\
+ sbcl --no-sysinit --no-userinit\n\
to keep SBCL from reading any initialization files at startup. And some\n\
people like to suppress the default startup message:\n\
sbcl --noinform\n\
;;; 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.11.11"
+"0.9.11.12"