Enable running lisp files as scripts
This commit is contained in:
parent
5494f74775
commit
610663cbe2
1 changed files with 20 additions and 0 deletions
20
.sbclrc
20
.sbclrc
|
@ -7,6 +7,26 @@
|
|||
(abort))
|
||||
*debugger-hook*
|
||||
(setf *debugger-hook* #'print-condition-hook)
|
||||
;;; If the first user-processable command-line argument is a filename,
|
||||
;;; disable the debugger, load the file handling shebang-line and quit.
|
||||
(let ((script (and (second *posix-argv*)
|
||||
(probe-file (second *posix-argv*)))))
|
||||
(when script
|
||||
;; Handle shebang-line
|
||||
(set-dispatch-macro-character #\# #\!
|
||||
(lambda (stream char arg)
|
||||
(declare (ignore char arg))
|
||||
(read-line stream)))
|
||||
;; Disable debugger
|
||||
(setf *invoke-debugger-hook*
|
||||
(lambda (condition hook)
|
||||
(declare (ignore hook))
|
||||
;; Uncomment to get backtraces on errors
|
||||
;; (sb-debug:backtrace 20)
|
||||
(format *error-output* "Error: ~A~%" condition)
|
||||
(quit)))
|
||||
(load script)
|
||||
(quit)))
|
||||
;;; The following lines added by ql:add-to-init-file:
|
||||
#-quicklisp
|
||||
(let ((quicklisp-init (merge-pathnames "quicklisp/setup.lisp"
|
||||
|
|
Loading…
Add table
Reference in a new issue