|
1 | 1 | (in-package#:jupyter) |
2 | 2 |
|
3 | | -(defvar*enable-debugger*nil) |
| 3 | +(defvar*stdout*nil) |
| 4 | +(defvar*stdin*nil) |
| 5 | +(defvar*stderr*nil) |
| 6 | +(defvar*enable-debugger*t) |
| 7 | +(defvar*enable-internal-debugger*t) |
4 | 8 | (defvar*payload*nil) |
5 | 9 | (defvar*markdown-output*nil) |
6 | 10 | (defvar*html-output*nil) |
|
711 | 715 | (mezzano.debug:*global-debugger*:external) |
712 | 716 | #+sbcl |
713 | 717 | (sb-ext:*invoke-debugger-hook*:external) |
714 | | - (t:internal))) |
| 718 | + (*enable-internal-debugger*:internal) |
| 719 | + (t:none))) |
715 | 720 |
|
716 | 721 | (defmacrowith-debugger ((&key control internal)&body body) |
717 | 722 | (let ((debugger-hook (if control |
|
942 | 947 | (prog* ((shell (kernel-shell kernel)) |
943 | 948 | (iopub (kernel-iopub kernel)) |
944 | 949 | (*thread-id* (add-thread kernel)) |
945 | | - (*standard-input* (kernel-standard-input kernel)) |
946 | | - (*error-output* (kernel-error-output kernel)) |
947 | | - (*standard-output* (kernel-standard-output kernel)) |
| 950 | + (*stdin* (kernel-standard-input kernel)) |
| 951 | + (*stdout* (kernel-standard-output kernel)) |
| 952 | + (*stderr* (kernel-error-output kernel)) |
| 953 | + (*standard-input* (make-synonym-stream'*stdin*)) |
| 954 | + (*standard-output* (make-synonym-stream'*stdout*)) |
| 955 | + (*error-output* (make-synonym-stream'*stderr*)) |
948 | 956 | (*debug-io* (make-two-way-stream*standard-input**standard-output*)) |
949 | 957 | (*query-io**debug-io*) |
950 | 958 | (*terminal-io**debug-io*) |
|
1495 | 1503 | (inform:info*kernel*"Handling execute_request message") |
1496 | 1504 | (with-slots (execution-count history iopubpackagereadtable input-queue breakpoints) |
1497 | 1505 | *kernel* |
1498 | | - (let ((code (gethash"code" (message-content*message*))) |
1499 | | - (ename"interrupt") |
1500 | | - (evalue"Execution interrupted") |
1501 | | - traceback |
1502 | | - (*payload* (make-array16:adjustablet:fill-pointer0)) |
1503 | | - (*page-output* (make-string-output-stream)) |
1504 | | - (*enable-debugger* (gethash"stop_on_error" (message-content*message*)))) |
| 1506 | + (let* ((code (gethash"code" (message-content*message*))) |
| 1507 | + (silent (gethash"silent" (message-content*message*))) |
| 1508 | + (allow-stdin (gethash"allow_stdin" (message-content*message*))) |
| 1509 | + (ename"interrupt") |
| 1510 | + (evalue"Execution interrupted") |
| 1511 | + traceback |
| 1512 | + (*payload* (make-array16:adjustablet:fill-pointer0)) |
| 1513 | + (*page-output* (make-string-output-stream)) |
| 1514 | + (*enable-debugger* (and (gethash"stop_on_error" (message-content*message*)) |
| 1515 | +*enable-debugger*)) |
| 1516 | + (*stderr* (if silent |
| 1517 | + (make-broadcast-stream) |
| 1518 | +*stderr*)) |
| 1519 | + (*stdout* (if silent |
| 1520 | + (make-broadcast-stream) |
| 1521 | +*stdout*)) |
| 1522 | + (*enable-internal-debugger* (and (not silent) |
| 1523 | + allow-stdin |
| 1524 | +*enable-internal-debugger*))) |
1505 | 1525 | (incf execution-count) |
1506 | 1526 | (add-cell history execution-count code) |
1507 | 1527 | (unwind-protect |
|