Add new procedures YNODE-EXP-SPECIAL and YNODE-RESULT-SPECIAL to
authorChris Hanson <org/chris-hanson/cph>
Thu, 13 Oct 1994 04:26:01 +0000 (04:26 +0000)
committerChris Hanson <org/chris-hanson/cph>
Thu, 13 Oct 1994 04:26:01 +0000 (04:26 +0000)
identify special markers within the ynode structure.

v7/src/edwin/eystep.scm

index 89bae4ce3f9887a5236673d99c826d8d490493d4..a59d9f10a30e6790411cd0b3eff60d8bfa2c61f8 100644 (file)
@@ -1,6 +1,6 @@
 ;;; -*-Scheme-*-
 ;;;
-;;;    $Id: eystep.scm,v 1.1 1994/10/12 07:54:09 cph Exp $
+;;;    $Id: eystep.scm,v 1.2 1994/10/13 04:26:01 cph Exp $
 ;;;
 ;;;    Copyright (c) 1994 Massachusetts Institute of Technology
 ;;;
@@ -247,9 +247,14 @@ c  contract the step under the cursor")
                    (move-mark-to! start point)
                    (output-and-mung-region point
                      (lambda ()
-                       (debugger-pp (ynode-exp node)
-                                    (* 2 level)
-                                    (current-output-port)))
+                       (let ((special (ynode-exp-special node)))
+                         (if special
+                             (begin
+                               (write-string ";")
+                               (write special))
+                             (debugger-pp (ynode-exp node)
+                                          (* 2 level)
+                                          (current-output-port)))))
                      (and last-event
                           (eq? (car last-event) 'CALL)
                           (eq? (cadr last-event) node)
@@ -263,11 +268,16 @@ c contract the step under the cursor")
                    (let ((value-node (ynode-value-node node)))
                      (output-and-mung-region point
                        (lambda ()
-                         (write
-                          (ynode-result
-                           (if (eq? (ynode-type node) 'STEP-OVER)
-                               value-node
-                               node))))
+                         (let ((node
+                                (if (eq? (ynode-type node) 'STEP-OVER)
+                                    value-node
+                                    node)))
+                           (let ((special (ynode-result-special node)))
+                             (if special
+                                 (begin
+                                   (write-string ";")
+                                   (write special))
+                                 (write (ynode-result node))))))
                        (and last-event
                             (eq? (car last-event) 'RETURN)
                             (eq? (cadr last-event) value-node)