Changeset 11495
- Timestamp:
- Dec 9, 2008, 2:49:44 AM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/working-0711/ccl/level-1/l1-readloop.lisp
r11101 r11495 108 108 109 109 110 (defun quit (&optional (exit-status 0)) 111 (unless (typep exit-status '(signed-byte 32)) 112 (report-bad-arg exit-status '(signed-byte 32))) 110 (defun quit (&optional (exit 0)) 111 "exit must be either a (signed-byte 32) exit status or a function to call to exit lisp" 112 (if (or (null exit) (typep exit '(signed-byte 32))) 113 (setq exit (let ((exit-status (or exit 0))) 114 #'(lambda () (#__exit exit-status)))) 115 (unless (typep exit 'function) 116 (report-bad-arg exit '(or (signed-byte 32) function)))) 113 117 (let* ((ip *initial-process*) 114 118 (cp *current-process*)) … … 119 123 #'(lambda () 120 124 (%set-toplevel nil) 121 (#__exit exit-status))))) 125 (funcall exit) ;; must exit 126 (bug "Exit function didn't exit"))))) 122 127 (unless (eq cp ip) 123 128 (process-kill cp)))))
Note: See TracChangeset
for help on using the changeset viewer.