From 232e4ed2875c51a2b8f681890402caa4e2d553b7 Mon Sep 17 00:00:00 2001
From: Chris Hanson <org/chris-hanson/cph>
Date: Wed, 12 Oct 1994 00:31:13 +0000
Subject: [PATCH] Add autoloaded stepper support.  Requires corresponding
 support in runtime system.

---
 v7/src/edwin/decls.scm  |  3 ++-
 v7/src/edwin/ed-ffi.scm |  4 +++-
 v7/src/edwin/edwin.pkg  | 40 ++++++++++++++++++++++++++++++++++++++--
 v7/src/edwin/loadef.scm | 18 +++++++++++++++---
 v7/src/edwin/schmod.scm |  5 +++--
 5 files changed, 61 insertions(+), 9 deletions(-)

diff --git a/v7/src/edwin/decls.scm b/v7/src/edwin/decls.scm
index 21a6baf4b..0c04355c6 100644
--- a/v7/src/edwin/decls.scm
+++ b/v7/src/edwin/decls.scm
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Id: decls.scm,v 1.50 1994/03/08 20:32:54 cph Exp $
+$Id: decls.scm,v 1.51 1994/10/12 00:31:13 cph Exp $
 
 Copyright (c) 1989-94 Massachusetts Institute of Technology
 
@@ -145,6 +145,7 @@ MIT in each case. |#
 		"ed-ffi"
 		"editor"
 		"evlcom"
+		"eystep"
 		"filcom"
 		"fileio"
 		"fill"
diff --git a/v7/src/edwin/ed-ffi.scm b/v7/src/edwin/ed-ffi.scm
index 35c1bd699..f5a2758a8 100644
--- a/v7/src/edwin/ed-ffi.scm
+++ b/v7/src/edwin/ed-ffi.scm
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Id: ed-ffi.scm,v 1.33 1994/03/08 20:33:02 cph Exp $
+$Id: ed-ffi.scm,v 1.34 1994/10/12 00:30:59 cph Exp $
 
 Copyright (c) 1990-94 Massachusetts Institute of Technology
 
@@ -127,6 +127,8 @@ of that license should have been included along with this file.
 	       edwin-syntax-table)
     ("evlcom"  (edwin)
 	       edwin-syntax-table)
+    ("eystep"  (edwin stepper)
+	       edwin-syntax-table)
     ("filcom"  (edwin)
 	       edwin-syntax-table)
     ("fileio"  (edwin)
diff --git a/v7/src/edwin/edwin.pkg b/v7/src/edwin/edwin.pkg
index 19ba3fd3f..efe7e337b 100644
--- a/v7/src/edwin/edwin.pkg
+++ b/v7/src/edwin/edwin.pkg
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Id: edwin.pkg,v 1.151 1994/10/11 23:10:21 cph Exp $
+$Id: edwin.pkg,v 1.152 1994/10/12 00:30:50 cph Exp $
 
 Copyright (c) 1989-1994 Massachusetts Institute of Technology
 
@@ -1317,4 +1317,40 @@ MIT in each case. |#
   (import (runtime debugger-utilities)
 	  show-environment-bindings)
   (initialization (initialize-bochser-mode!)))
-|#
\ No newline at end of file
+|#
+
+(define-package (edwin stepper)
+  (files "eystep")
+  (parent (edwin))
+  (export (edwin)
+	  edwin-command$step-defun
+	  edwin-command$step-expression
+	  edwin-command$step-last-sexp
+	  edwin-command$stepper-contract
+	  edwin-command$stepper-expand
+	  edwin-command$stepper-run
+	  edwin-command$stepper-step
+	  edwin-command$stepper-step-over
+	  edwin-command$stepper-step-until
+	  edwin-command$stepper-step-until-visibly
+	  edwin-command$stepper-summary
+	  edwin-mode$stepper)
+  (import (runtime debugger)
+	  debugger-pp)
+  (import (runtime stepper)
+	  step-output
+	  step-output-final-result
+	  step-output-initialize
+	  stepper-last-event
+	  stepper-root-node
+	  ynode-children
+	  ynode-contract!
+	  ynode-doesnt-need-redisplay!
+	  ynode-exp
+	  ynode-expand!
+	  ynode-hidden-children?
+	  ynode-needs-redisplay?
+	  ynode-result
+	  ynode-type
+	  ynode-value-node)
+  (initialization (initialize-package!)))
\ No newline at end of file
diff --git a/v7/src/edwin/loadef.scm b/v7/src/edwin/loadef.scm
index 1f1c6a57f..960f4e42d 100644
--- a/v7/src/edwin/loadef.scm
+++ b/v7/src/edwin/loadef.scm
@@ -1,8 +1,8 @@
 ;;; -*-Scheme-*-
 ;;;
-;;;	$Id: loadef.scm,v 1.25 1993/09/30 19:22:54 bal Exp $
+;;;	$Id: loadef.scm,v 1.26 1994/10/12 00:30:42 cph Exp $
 ;;;
-;;;	Copyright (c) 1986, 1989-1993 Massachusetts Institute of Technology
+;;;	Copyright (c) 1986, 1989-94 Massachusetts Institute of Technology
 ;;;
 ;;;	This material was developed by the Scheme project at the
 ;;;	Massachusetts Institute of Technology, Department of
@@ -205,6 +205,18 @@ variable's value is #F, the text is printed using LPR-COMMAND."
 
 (define-autoload-command 'sort-columns 'SORT
   "Sort lines by the text in a range of columns.")
+
+(define-library 'STEPPER
+  '("eystep" (EDWIN STEPPER)))
+
+(define-autoload-command 'step-expression 'STEPPER
+  "Single-step an expression.")
+
+(define-autoload-command 'step-last-sexp 'STEPPER
+  "Single-step the expression preceding point.")
+
+(define-autoload-command 'step-defun 'STEPPER
+  "Single-step the definition that the point is in or before.")
 
 ;;;; DOS-specific commands
 
@@ -225,4 +237,4 @@ variable's value is #F, the text is printed using LPR-COMMAND."
 	'DOSSHELL
 	"Major mode for executing DOS commands.")
       (define-autoload-command 'shell 'DOSSHELL
-	"Run an inferior pseudo shell, with I/O through buffer *shell*.")))
+	"Run an inferior pseudo shell, with I/O through buffer *shell*.")))
\ No newline at end of file
diff --git a/v7/src/edwin/schmod.scm b/v7/src/edwin/schmod.scm
index cb54151d9..ebd4f8238 100644
--- a/v7/src/edwin/schmod.scm
+++ b/v7/src/edwin/schmod.scm
@@ -1,8 +1,8 @@
 ;;; -*-Scheme-*-
 ;;;
-;;;	$Id: schmod.scm,v 1.36 1993/12/17 00:09:14 cph Exp $
+;;;	$Id: schmod.scm,v 1.37 1994/10/12 00:30:25 cph Exp $
 ;;;
-;;;	Copyright (c) 1986, 1989-93 Massachusetts Institute of Technology
+;;;	Copyright (c) 1986, 1989-94 Massachusetts Institute of Technology
 ;;;
 ;;;	This material was developed by the Scheme project at the
 ;;;	Massachusetts Institute of Technology, Department of
@@ -117,6 +117,7 @@ The following commands evaluate Scheme expressions:
 (define-key 'scheme #\m-g 'undefined)
 (define-key 'scheme #\m-o 'eval-current-buffer)
 (define-key 'scheme #\m-q 'undefined)
+(define-key 'scheme #\m-s 'step-defun)
 (define-key 'scheme #\m-z 'eval-defun)
 (define-key 'scheme #\c-m-q 'indent-sexp)
 (define-key 'scheme #\c-m-z 'eval-region)
-- 
2.25.1