:format-arguments (list n)
:datum n
:expected-type '(real 0)))
+ #!-win32
(multiple-value-bind (sec nsec)
(if (integerp n)
(values n 0)
(truncate n)
(values sec (truncate frac 1e-9))))
(sb!unix:nanosleep sec nsec))
+ #!+win32
+ (sb!win32:millisleep (truncate (* n 1000)))
nil)
\f
;;;; SCRUB-CONTROL-STACK
(let* ((csp (sap-int (sb!c::control-stack-pointer-sap)))
(initial-offset (logand csp (1- bytes-per-scrub-unit)))
(end-of-stack
- (- (sb!vm:fixnumize sb!vm:*control-stack-end*)
+ (- (sap-int (sb!di::descriptor-sap sb!vm:*control-stack-end*))
sb!c:*backend-page-size*)))
(labels
((scrub (ptr offset count)
#!+stack-grows-downward-not-upward
(let* ((csp (sap-int (sb!c::control-stack-pointer-sap)))
- (end-of-stack (+ (sb!vm:fixnumize sb!vm:*control-stack-start*)
+ (end-of-stack (+ (sap-int (sb!di::descriptor-sap sb!vm:*control-stack-start*))
sb!c:*backend-page-size*))
(initial-offset (logand csp (1- bytes-per-scrub-unit))))
(labels
(/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))
#!-win32 (probe-init-files sysinit
(init-file-name (posix-getenv "SBCL_HOME")
"sbclrc")
- "/etc/sbclrc"))
+ "/etc/sbclrc")
+ #!+win32 (probe-init-files sysinit
+ (init-file-name (posix-getenv "SBCL_HOME")
+ "sbclrc")
+ (concatenate 'string
+ (sb!win32::get-folder-path 35) ;;SB-WIN32::CSIDL_COMMON_APPDATA
+ "\\sbcl\\sbclrc")))
+
(userinit-truename
#!-win32 (probe-init-files userinit
(init-file-name (posix-getenv "HOME")
+ ".sbclrc"))
+ #!+win32 (probe-init-files userinit
+ (init-file-name (namestring (user-homedir-pathname))
".sbclrc"))))
;; This CATCH is needed for the debugger command TOPLEVEL to
;; 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."
;; In the event of a control-stack-exhausted-error, we
;; should have unwound enough stack by the time we get
;; here that this is now possible.
+ #!-win32
(sb!kernel::protect-control-stack-guard-page 1)
(funcall repl-fun noprint)
(critically-unreachable "after REPL"))))))))))