Actually set the variable to the default value in case of an error.
Caught by Nikodemus Siivola.
&key default
explanation
(condition 'error))
- `(handler-case
- (setf ,variable ,form)
- (,condition (c)
- (let ((default ,default))
- (warn "Error initializing ~a~@[ ~a~]:~@
+ `(setf ,variable
+ (handler-case ,form
+ (,condition (c)
+ (let ((default ,default))
+ (warn "Error initializing ~a~@[ ~a~]:~@
~a
~% Using ~s instead."
- ',variable
- ,explanation
- c
- default)
- default))))
+ ',variable
+ ,explanation
+ c
+ default)
+ default)))))
;;; If something ever needs to be done differently for one OS, then
;;; split out the different part into per-os functions.
;; Delete all the options that we processed, so that only
;; user-level options are left visible to user code.
- (setf (rest *posix-argv*) options)
+ (when *posix-argv*
+ (setf (rest *posix-argv*) options))
;; Disable debugger before processing initialization files & co.
(when disable-debugger