From 9db6b61081ac23786139c664988260b81195378e Mon Sep 17 00:00:00 2001
From: dos-reis <gdr@axiomatics.org>
Date: Mon, 11 Aug 2008 23:39:57 +0000
Subject: 	* interp/obey.lisp: Remove. 	* interp/Makefile.pamphlet
 (OBJS): Don't include obey.$(FASLEXT). 	* interp/br-data.boot: Replace
 OBEY with runCommand. 	* interp/br-saturn.boot: Likewise. 	*
 interp/br-search.boot: Likewise. 	* interp/c-doc.boot: Likewise. 	*
 interp/compat.boot: Likewise. 	* interp/debug.lisp: Likewise. 	*
 interp/g-util.boot: Likewise. 	* interp/ht-root.boot: Likewise. 	*
 interp/i-syscmd.boot: Likewise. 	* interp/patches.lisp: Likewise. 
 * interp/spad.lisp: Likewise. 	* interp/util.lisp: Likewise. 	*
 interp/vmlisp.lisp: Likewise.

---
 configure                    | 18 ++++++-------
 configure.ac                 |  2 +-
 configure.ac.pamphlet        |  2 +-
 src/ChangeLog                | 18 +++++++++++++
 src/interp/Makefile.in       |  3 +--
 src/interp/Makefile.pamphlet |  3 +--
 src/interp/br-data.boot      |  2 +-
 src/interp/br-saturn.boot    |  4 +--
 src/interp/br-search.boot    |  2 +-
 src/interp/c-doc.boot        | 12 ++++-----
 src/interp/compat.boot       |  6 ++---
 src/interp/debug.lisp        | 12 ++++-----
 src/interp/g-util.boot       |  2 +-
 src/interp/ht-root.boot      |  2 +-
 src/interp/i-syscmd.boot     | 12 ++++-----
 src/interp/obey.lisp         | 64 --------------------------------------------
 src/interp/patches.lisp      |  8 +++---
 src/interp/spad.lisp         |  6 ++---
 src/interp/util.lisp         | 10 +++----
 src/interp/vmlisp.lisp       | 14 ----------
 20 files changed, 70 insertions(+), 132 deletions(-)
 delete mode 100644 src/interp/obey.lisp

diff --git a/configure b/configure
index adf3a611..49b7191e 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.60 for OpenAxiom 1.2.0-2008-08-10.
+# Generated by GNU Autoconf 2.60 for OpenAxiom 1.2.0-2008-08-11.
 #
 # Report bugs to <open-axiom-bugs@lists.sf.net>.
 #
@@ -713,8 +713,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
 # Identity of this package.
 PACKAGE_NAME='OpenAxiom'
 PACKAGE_TARNAME='openaxiom'
-PACKAGE_VERSION='1.2.0-2008-08-10'
-PACKAGE_STRING='OpenAxiom 1.2.0-2008-08-10'
+PACKAGE_VERSION='1.2.0-2008-08-11'
+PACKAGE_STRING='OpenAxiom 1.2.0-2008-08-11'
 PACKAGE_BUGREPORT='open-axiom-bugs@lists.sf.net'
 
 ac_unique_file="src/Makefile.pamphlet"
@@ -1404,7 +1404,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures OpenAxiom 1.2.0-2008-08-10 to adapt to many kinds of systems.
+\`configure' configures OpenAxiom 1.2.0-2008-08-11 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1474,7 +1474,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of OpenAxiom 1.2.0-2008-08-10:";;
+     short | recursive ) echo "Configuration of OpenAxiom 1.2.0-2008-08-11:";;
    esac
   cat <<\_ACEOF
 
@@ -1578,7 +1578,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-OpenAxiom configure 1.2.0-2008-08-10
+OpenAxiom configure 1.2.0-2008-08-11
 generated by GNU Autoconf 2.60
 
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1592,7 +1592,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by OpenAxiom $as_me 1.2.0-2008-08-10, which was
+It was created by OpenAxiom $as_me 1.2.0-2008-08-11, which was
 generated by GNU Autoconf 2.60.  Invocation command line was
 
   $ $0 $@
@@ -26089,7 +26089,7 @@ exec 6>&1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by OpenAxiom $as_me 1.2.0-2008-08-10, which was
+This file was extended by OpenAxiom $as_me 1.2.0-2008-08-11, which was
 generated by GNU Autoconf 2.60.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -26138,7 +26138,7 @@ Report bugs to <bug-autoconf@gnu.org>."
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-OpenAxiom config.status 1.2.0-2008-08-10
+OpenAxiom config.status 1.2.0-2008-08-11
 configured by $0, generated by GNU Autoconf 2.60,
   with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
diff --git a/configure.ac b/configure.ac
index 0e1a5bd3..5a9278b7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,6 +1,6 @@
 sinclude(config/open-axiom.m4)
 sinclude(config/aclocal.m4)
-AC_INIT([OpenAxiom], [1.2.0-2008-08-10], 
+AC_INIT([OpenAxiom], [1.2.0-2008-08-11], 
         [open-axiom-bugs@lists.sf.net])
 
 AC_CONFIG_AUX_DIR(config)
diff --git a/configure.ac.pamphlet b/configure.ac.pamphlet
index 1ac7b1c4..b96d8c94 100644
--- a/configure.ac.pamphlet
+++ b/configure.ac.pamphlet
@@ -1118,7 +1118,7 @@ information:
 <<Autoconf init>>=
 sinclude(config/open-axiom.m4)
 sinclude(config/aclocal.m4)
-AC_INIT([OpenAxiom], [1.2.0-2008-08-10], 
+AC_INIT([OpenAxiom], [1.2.0-2008-08-11], 
         [open-axiom-bugs@lists.sf.net])
 
 @
diff --git a/src/ChangeLog b/src/ChangeLog
index afeedd65..a9234d23 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,21 @@
+2008-08-11  Gabriel Dos Reis  <gdr@cs.tamu.edu>
+
+	* interp/obey.lisp: Remove.
+	* interp/Makefile.pamphlet (OBJS): Don't include obey.$(FASLEXT).
+	* interp/br-data.boot: Replace OBEY with runCommand.
+	* interp/br-saturn.boot: Likewise.
+	* interp/br-search.boot: Likewise.
+	* interp/c-doc.boot: Likewise.
+	* interp/compat.boot: Likewise.
+	* interp/debug.lisp: Likewise.
+	* interp/g-util.boot: Likewise.
+	* interp/ht-root.boot: Likewise.
+	* interp/i-syscmd.boot: Likewise.
+	* interp/patches.lisp: Likewise.
+	* interp/spad.lisp: Likewise.
+	* interp/util.lisp: Likewise.
+	* interp/vmlisp.lisp: Likewise.
+
 2008-08-10  Gabriel Dos Reis  <gdr@cs.tamu.edu>
 
 	* interp/Makefile.pamphlet: Clean up.
diff --git a/src/interp/Makefile.in b/src/interp/Makefile.in
index c070399b..f0a8c728 100644
--- a/src/interp/Makefile.in
+++ b/src/interp/Makefile.in
@@ -89,7 +89,7 @@ OBJS=   boot-pkg.$(FASLEXT)	types.$(FASLEXT)	 \
 	union.$(FASLEXT)       daase.$(FASLEXT)  	\
 	fortcall.$(FASLEXT) \
 	$(OCOBJS) \
-	$(BROBJS) i-parser.$(FASLEXT) obey.$(FASLEXT)
+	$(BROBJS) i-parser.$(FASLEXT)
 
 interpsys_modules = $(patsubst %.$(FASLEXT), "%", $(OBJS))
 INOBJS=	setvart.$(FASLEXT)\
@@ -410,7 +410,6 @@ dq.$(FASLEXT): types.$(FASLEXT)
 
 ## General support and utilities.
 cfuns.$(FASLEXT): boot-pkg.$(FASLEXT)
-obey.$(FASLEXT): macros.$(FASLEXT)
 daase.$(FASLEXT): macros.$(FASLEXT) foam_l.$(FASLEXT)
 spaderror.$(FASLEXT): macros.$(FASLEXT)
 debug.$(FASLEXT): macros.$(FASLEXT) parsing.$(FASLEXT)
diff --git a/src/interp/Makefile.pamphlet b/src/interp/Makefile.pamphlet
index fb1bf153..3bd00794 100644
--- a/src/interp/Makefile.pamphlet
+++ b/src/interp/Makefile.pamphlet
@@ -168,7 +168,7 @@ OBJS=   boot-pkg.$(FASLEXT)	types.$(FASLEXT)	 \
 	union.$(FASLEXT)       daase.$(FASLEXT)  	\
 	fortcall.$(FASLEXT) \
 	$(OCOBJS) \
-	$(BROBJS) i-parser.$(FASLEXT) obey.$(FASLEXT)
+	$(BROBJS) i-parser.$(FASLEXT)
 
 interpsys_modules = $(patsubst %.$(FASLEXT), "%", $(OBJS))
 @
@@ -691,7 +691,6 @@ dq.$(FASLEXT): types.$(FASLEXT)
 
 ## General support and utilities.
 cfuns.$(FASLEXT): boot-pkg.$(FASLEXT)
-obey.$(FASLEXT): macros.$(FASLEXT)
 daase.$(FASLEXT): macros.$(FASLEXT) foam_l.$(FASLEXT)
 spaderror.$(FASLEXT): macros.$(FASLEXT)
 debug.$(FASLEXT): macros.$(FASLEXT) parsing.$(FASLEXT)
diff --git a/src/interp/br-data.boot b/src/interp/br-data.boot
index 3aeb8249..5d892800 100644
--- a/src/interp/br-data.boot
+++ b/src/interp/br-data.boot
@@ -90,7 +90,7 @@ buildLibdb(:options) ==  --called by buildDatabase (database.boot)
     buildLibAttrs attrlist
   SHUT $outStream
   domainList => 'done         --leave new database in temp.text
-  OBEY
+  runCommand
     $machineType = 'RIOS => '"sort -f -T /tmp -y200 _"temp.text_"  > _"libdb.text_""
     $machineType = 'SPARC => '"sort -f  _"temp.text_"  > _"libdb.text_""
     '"sort  _"temp.text_"  > _"libdb.text_""
diff --git a/src/interp/br-saturn.boot b/src/interp/br-saturn.boot
index 27866a69..9c49cfad 100644
--- a/src/interp/br-saturn.boot
+++ b/src/interp/br-saturn.boot
@@ -93,7 +93,7 @@ off()==
 --    '"/windows/temp/browser.text"
 --  $saturn =>
 --    saturnEvalToFile(x, fn)
---    OBEY  '"cat /tmp/sat.text"
+--    runCommand  '"cat /tmp/sat.text"
 --  EVAL x
 
 
@@ -1617,7 +1617,7 @@ mkButtonBox n == STRCONC('"\buttonbox{", STRINGIMAGE n, '"}")
 dbSort(x,y) ==
   sin := STRINGIMAGE x
   sout:= STRINGIMAGE y
-  OBEY STRCONC('"sort -f _"",sin,'".text_" > _"", sout, '".text_"")
+  runCommand STRCONC('"sort -f _"",sin,'".text_" > _"", sout, '".text_"")
   removeFile STRCONC(sin, '".text")
 
 
diff --git a/src/interp/br-search.boot b/src/interp/br-search.boot
index be7213df..4f1a740c 100644
--- a/src/interp/br-search.boot
+++ b/src/interp/br-search.boot
@@ -912,7 +912,7 @@ underscoreDollars(s) == fn(s,0,MAXINDEX s) where
 
 obey x ==
   $saturn and not $aixTestSaturn => nil
-  OBEY x
+  runCommand x
 
 --=======================================================================
 --                         I/O Code
diff --git a/src/interp/c-doc.boot b/src/interp/c-doc.boot
index 5c199b50..811a6db3 100644
--- a/src/interp/c-doc.boot
+++ b/src/interp/c-doc.boot
@@ -1216,11 +1216,11 @@ checkAlphabetic c ==
 docreport(nam) ==
 --creates a report for person "nam" using file "whofiles"
   removeFile '"docreport.input"
-  OBEY STRCONC('"echo _")bo setOutStream('",STRINGIMAGE nam,'")_" > temp.input")
-  OBEY '"cat docreport.header temp.input > docreport.input"
-  OBEY STRCONC('"awk '/",STRINGIMAGE nam,'"/ {printf(_")co %s.spad\n_",$2)}' whofiles > temp.input")
-  OBEY '"cat docreport.input temp.input > temp1.input"
-  OBEY '"cat temp1.input docreport.trailer > docreport.input"
+  runCommand STRCONC('"echo _")bo setOutStream('",STRINGIMAGE nam,'")_" > temp.input")
+  runCommand '"cat docreport.header temp.input > docreport.input"
+  runCommand STRCONC('"awk '/",STRINGIMAGE nam,'"/ {printf(_")co %s.spad\n_",$2)}' whofiles > temp.input")
+  runCommand '"cat docreport.input temp.input > temp1.input"
+  runCommand '"cat temp1.input docreport.trailer > docreport.input"
   removeFile '"temp.input"
   removeFile '"temp1.input"
   SETQ(_/EDITFILE,'"docreport.input")
@@ -1235,7 +1235,7 @@ whoOwns(con) ==
 --con=constructor name (id beginning with a capital), returns owner as a string
   filename := getConstructorSourceFileFromDB con
   quoteChar := char '_"
-  OBEY STRCONC('"awk '$2 == ",quoteChar,filename,quoteChar,'" {print $1}' whofiles > /tmp/temp")
+  runCommand STRCONC('"awk '$2 == ",quoteChar,filename,quoteChar,'" {print $1}' whofiles > /tmp/temp")
   instream := MAKE_-INSTREAM '"/tmp/temp"
   value :=
     EOFP instream => nil
diff --git a/src/interp/compat.boot b/src/interp/compat.boot
index 6916d25f..e7dde94e 100644
--- a/src/interp/compat.boot
+++ b/src/interp/compat.boot
@@ -68,13 +68,13 @@ system() ==
   -- VM version of system command
   string := getSystemCommandLine()
   if string = '"" then string := '"sh"
-  sayMessage ["   Return Code = ", OBEY string]
+  sayMessage ["   Return Code = ", runCommand string]
   terminateSystemCommand()
 
 editFile file ==
   MEMQ(INTERN('"WIN32",FIND_-PACKAGE("KEYWORD")),_*FEATURES_*) => 
-    OBEY STRCONC('"notepad ", namestring pathname file)
-  OBEY STRCONC('"$AXIOM/lib/SPADEDIT ",namestring pathname file)
+    runCommand STRCONC('"notepad ", namestring pathname file)
+  runCommand STRCONC('"$AXIOM/lib/SPADEDIT ",namestring pathname file)
 
 makeBigFloat(mantissa,expon) ==
   [$BFtag,mantissa,:expon]
diff --git a/src/interp/debug.lisp b/src/interp/debug.lisp
index 78160568..1e851a90 100644
--- a/src/interp/debug.lisp
+++ b/src/interp/debug.lisp
@@ -107,7 +107,7 @@
     (PROG (TO OPTIONL OPTIONS FNL INFILE OUTSTREAM FN )
           (declare (special fn infile outstream ))
           (if (member '? L :test #'eq)
-              (RETURN (OBEY "EXEC SPADEDIT /C TELL")))
+              (RETURN (|runCommand| "EXEC SPADEDIT /C TELL")))
           (SETQ OPTIONL (/OPTIONS L))
           (SETQ FNL (TRUNCLIST L OPTIONL))
           (SETQ OPTIONS (OPTIONS2UC OPTIONL))
@@ -192,7 +192,7 @@
           (SETQ INPUTSTREAM (DEFSTREAM EDINFILE 'INPUT))
           (|sayBrightly|
             (LIST  "   editing file" '|%b| (|namestring| EDINFILE) '|%d|))
-          (OBEY
+          (|runCommand|
             (STRCONC
               (|makeAbsoluteFilename| "/lib/SPADEDFN ")
               (|namestring| EDINFILE)
@@ -453,7 +453,7 @@ EXAMINE (SETQ RECNO (NOTE |$InputStream|))
  
 (DEFUN /TRACE-0 (L)
   (if (member '? L :test #'eq)
-      (OBEY "EXEC NORMEDIT TRACE TELL")
+      (|runCommand| "EXEC NORMEDIT TRACE TELL")
       (let* ((options (/OPTIONS L)) (FNL (TRUNCLIST L OPTIONS)))
         (/TRACE-1 FNL OPTIONS))))
  
@@ -641,7 +641,7 @@ EXAMINE (SETQ RECNO (NOTE |$InputStream|))
  
 (DEFUN /UNTRACE-0 (L)
     (PROG (OPTIONL OPTIONS FNL)
-      (if (member '? L :test #'eq) (RETURN (OBEY "EXEC NORMEDIT TRACE TELL")))
+      (if (member '? L :test #'eq) (RETURN (|runCommand| "EXEC NORMEDIT TRACE TELL")))
       (SETQ OPTIONL (/OPTIONS L))
       (SETQ FNL (TRUNCLIST L OPTIONL))
       (SETQ OPTIONS (if OPTIONL (CAR OPTIONL)))
@@ -852,7 +852,7 @@ EXAMINE (SETQ RECNO (NOTE |$InputStream|))
 (DEFMACRO /TRACELET (&rest L) `',
   (PROG (OPTIONL FNL)
         (if (member '? L :test #'eq)
-            (RETURN (OBEY (if (EQ (SYSID) 1)
+            (RETURN (|runCommand| (if (EQ (SYSID) 1)
                               "EXEC NORMEDIT TRACELET TELL"
                               "$COPY AZ8F:TRLET.TELL")) ))
         (SETQ OPTIONL (/OPTIONS L))
@@ -904,7 +904,7 @@ EXAMINE (SETQ RECNO (NOTE |$InputStream|))
  
 (defmacro /EMBED (&rest L) `',
  (COND ((NOT L) (/EMBEDREPLY))
-       ((member '? L :test #'eq) (OBEY "EXEC NORMEDIT EMBED TELL"))
+       ((member '? L :test #'eq) (|runCommand| "EXEC NORMEDIT EMBED TELL"))
        ((EQ 2 (LENGTH L)) (/EMBED-1 (CAR L) (CADR L)))
        ((MOAN "IMPROPER USE OF /EMBED"))))
  
diff --git a/src/interp/g-util.boot b/src/interp/g-util.boot
index 0d52aee5..979aeff3 100644
--- a/src/interp/g-util.boot
+++ b/src/interp/g-util.boot
@@ -358,7 +358,7 @@ charRangeTest n ==
   false
 
 update() ==
-  OBEY
+  runCommand
     STRCONC('"SPADEDIT ",STRINGIMAGE _/VERSION,'" ",STRINGIMAGE _/WSNAME,'" A")
   _/UPDATE()
 
diff --git a/src/interp/ht-root.boot b/src/interp/ht-root.boot
index 965b1f7e..7307caa6 100644
--- a/src/interp/ht-root.boot
+++ b/src/interp/ht-root.boot
@@ -270,7 +270,7 @@ htTutorialSearch pattern ==
   s := mkUnixPattern s
   source := '"$AXIOM/share/hypertex/pages/ht.db"
   target :='"/tmp/temp.text.$SPADNUM"
-  OBEY STRCONC('"$AXIOM/lib/hthits",'" _"",s,'"_" ",source,'" > ",target)
+  runCommand STRCONC('"$AXIOM/lib/hthits",'" _"",s,'"_" ",source,'" > ",target)
   lines := dbReadLines 'temp
   htInitPageNoScroll(nil,['"Tutorial Pages mentioning {\em ",pattern,'"}"])
   htSay('"\beginscroll\table{")
diff --git a/src/interp/i-syscmd.boot b/src/interp/i-syscmd.boot
index 2904c5e9..9c921167 100644
--- a/src/interp/i-syscmd.boot
+++ b/src/interp/i-syscmd.boot
@@ -591,7 +591,7 @@ compileAsharpCmd1 args ==
     command :=
      STRCONC(STRCONC(GETENV('"ALDORROOT"),'"/bin/"),_
                "aldor ", asharpArgs, '" ", namestring args)
-    rc := OBEY command
+    rc := runCommand command
 
     if (rc = 0) and doCompileLisp then
         lsp := fnameMake('".", pathnameName args, '"lsp")
@@ -644,7 +644,7 @@ compileAsharpArchiveCmd args ==
     cd [ object2Identifier namestring dir ]
 
     cmd := STRCONC( '"ar x ", namestring path )
-    rc := OBEY cmd
+    rc := runCommand cmd
     rc ^= 0 =>
         cd [ object2Identifier namestring curDir ]
         throwKeyedMsg("S2IL0028",[namestring dir, namestring args])
@@ -766,10 +766,10 @@ withAsharpCmd args ==
 --% )copyright -- display copyright notice
 
 summary l ==
- OBEY STRCONC ('"cat ", systemRootDirectory(),'"/lib/summary")
+ runCommand STRCONC ('"cat ", systemRootDirectory(),'"/lib/summary")
 
 copyright () ==
- OBEY STRCONC ('"cat ", systemRootDirectory(),'"/lib/copyright")
+ runCommand STRCONC ('"cat ", systemRootDirectory(),'"/lib/copyright")
 
 --% )credits -- display credit list
 
@@ -1172,7 +1172,7 @@ newHelpSpad2Cmd args ==
   null (helpFile := MAKE_-INPUT_-FILENAME [narg,'HELPSPAD,'_*]) => NIL
 
   $useFullScreenHelp =>
-    OBEY STRCONC('"$AXIOM/lib/SPADEDIT ",namestring helpFile)
+    runCommand STRCONC('"$AXIOM/lib/SPADEDIT ",namestring helpFile)
     true
 
   filestream := MAKE_-INSTREAM(helpFile)
@@ -3053,7 +3053,7 @@ npsystem(unab, str) ==
   null SEARCH(sysPart, STRING unab) =>
     sayKeyedMsg('"S2IZ0080", [sysPart])
   command := SUBSEQ(str, spaceIndex+1)
-  OBEY command
+  runCommand command
 
 npsynonym(unab, str) ==
   npProcessSynonym(str)
diff --git a/src/interp/obey.lisp b/src/interp/obey.lisp
deleted file mode 100644
index e3735817..00000000
--- a/src/interp/obey.lisp
+++ /dev/null
@@ -1,64 +0,0 @@
-;; Copyright (c) 1991-2002, The Numerical Algorithms Group Ltd.
-;; All rights reserved.
-;; Copyright (C) 2007-2008, Gabriel Dos Reis.
-;; All rights reserved.
-;;
-;; Redistribution and use in source and binary forms, with or without
-;; modification, are permitted provided that the following conditions are
-;; met:
-;;
-;;     - Redistributions of source code must retain the above copyright
-;;       notice, this list of conditions and the following disclaimer.
-;;
-;;     - Redistributions in binary form must reproduce the above copyright
-;;       notice, this list of conditions and the following disclaimer in
-;;       the documentation and/or other materials provided with the
-;;       distribution.
-;;
-;;     - Neither the name of The Numerical Algorithms Group Ltd. nor the
-;;       names of its contributors may be used to endorse or promote products
-;;       derived from this software without specific prior written permission.
-;;
-;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
-;; IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
-;; TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-;; PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
-;; OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-;; EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-;; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-;; PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-;; LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-(import-module "macros")
-(import-module "sys-os")
-(in-package "BOOT")
-
-#+ (and :lucid :unix)
-(defun OBEY (S)
-   (system:run-aix-program (|makeAbsoluteFilename| "/lib/obey")
-             :arguments (list "-c" S)))
-
-#+ (and :lucid :unix)
-(defun delete-directory (dirname)
-   (system:run-aix-program "rm" :arguments (list "-r" dirname)))
-
-#+ (and :lucid :unix)
-(defun move-file (namestring1 namestring2)
-  (system:run-aix-program "mv" :arguments (list namestring1 namestring2)))
-
-#+ (and :lucid :unix)
-(defun copy-lib-directory (name1 name2)
-   (makedir name2)
-   (system:run-aix-program "sh" :arguments
-                        (list "-c" (concat "cp " name1 "/* " name2))))
-
-#+ (and :lucid :unix)
-(defun copy-file (namestring1 namestring2)
-  (system:run-aix-program "cp" :arguments (list namestring1 namestring2)))
-
-
-#+(or :sbcl :clisp)
-(defun obey(s) (|runCommand| s))
diff --git a/src/interp/patches.lisp b/src/interp/patches.lisp
index 315b5649..77948c16 100644
--- a/src/interp/patches.lisp
+++ b/src/interp/patches.lisp
@@ -84,8 +84,8 @@
 (defvar |$internalHistoryTable| ())
 (defun |cpCms| (prefix &optional (string (|getSystemCommandLine|)))
   (setq string (concat prefix string))
-  (if (equal string "") (obey "sh")
-    (obey string))
+  (if (equal string "") (|runCommand| "sh")
+    (|runCommand| string))
    (|terminateSystemCommand|))
 (setq *print-escape* nil) ;; so stringimage doesn't escape idents?
 #+(and :GCL :IEEE-FLOATING-POINT )
@@ -127,7 +127,7 @@
      (t (spad input-file)))))
 
 (defun /EF (&rest foo)
-  (obey (concat "vi " (namestring (make-input-filename /EDITFILE)))))
+  (|runCommand| (concat "vi " (namestring (make-input-filename /EDITFILE)))))
 
 ;; non-interactive restarts...
 (defun restart0 ()
@@ -276,7 +276,7 @@
 (defun |waitForViewport| ()
   (progn
    (do ()
-       ((not (zerop (obey
+       ((not (zerop (|runCommand|
          (concat
           "ps "
           |$ViewportProcessToWatch|
diff --git a/src/interp/spad.lisp b/src/interp/spad.lisp
index 8967781b..914bb45d 100644
--- a/src/interp/spad.lisp
+++ b/src/interp/spad.lisp
@@ -171,10 +171,10 @@
 ;         SYSTEM COMMANDS
 ;************************************************************************
 
-(defun CLEARDATABASE () (OBEY "ERASE MODEMAP DATABASE"))
+(defun CLEARDATABASE () (|runCommand| "ERASE MODEMAP DATABASE"))
 
 (defun erase (FN FT)
-  (OBEY (STRCONC "ERASE " (STRINGIMAGE FN) " " (STRINGIMAGE FT))))
+  (|runCommand| (STRCONC "ERASE " (STRINGIMAGE FN) " " (STRINGIMAGE FT))))
 
 (defun READLISP (UPPER_CASE_FG)
   (let (v expr val )
@@ -220,7 +220,7 @@
   (|terminateSystemCommand|)
   (|spadPrompt|))
 
-(defun CPSAY (X) (let (n) (if (EQ 0 (setq N (OBEY X))) NIL (PRINT N))))
+(defun CPSAY (X) (let (n) (if (EQ 0 (setq N (|runCommand| X))) NIL (PRINT N))))
 
 (defun |fin| ()
   (SETQ *EOF* 'T)
diff --git a/src/interp/util.lisp b/src/interp/util.lisp
index 18bc4788..4243b8a4 100644
--- a/src/interp/util.lisp
+++ b/src/interp/util.lisp
@@ -187,7 +187,7 @@
 ;; of the information in an NRLIB is now kept in the daase files. Thus
 ;; we lift the FOO.NRLIB/code.o to FOO.o in the final system.
 (defun lift-NRLIB-name (f)
-  (obey (concat "cp " f "/code.o " (subseq f 0 (position #\. f)) ".o"))
+  (|runCommand| (concat "cp " f "/code.o " (subseq f 0 (position #\. f)) ".o"))
   nil)
 
 ;; Translate a directory of boot code to common lisp if the boot code
@@ -217,9 +217,9 @@
 ;; set of functions that construct TAGS files for Axiom.
 (defun make-tags-file ()
   (|changeDirectory| "/tmp")
-  (obey (concat "etags " (|makeAbsoluteFilename| "../../src/interp/*.lisp")))
+  (|runCommand| (concat "etags " (|makeAbsoluteFilename| "../../src/interp/*.lisp")))
   (spadtags-from-directory "../../src/interp" "boot")
-  (obey "cat /tmp/boot.TAGS >> /tmp/TAGS"))
+  (|runCommand| "cat /tmp/boot.TAGS >> /tmp/TAGS"))
 
 (defun spadtags-from-directory (dir type)
    (let* ((direc (make-directory dir))
@@ -666,7 +666,7 @@
       (concatenate 'string out "/" (pathname-name lib) ".NRLIB/index.KAF*"))
     (unless (probe-file mntlib)
      (format t "creating directory ~a~%" mntlib)
-     (obey (concatenate 'string "cp -pr " (namestring lib) " " out))
+     (|runCommand| (concatenate 'string "cp -pr " (namestring lib) " " out))
      (when (probe-file (concatenate 'string mntlib "/code." stype))
       (delete-file  (concatenate 'string mntlib "/code." stype))))
     (setq intkafdate (and (probe-file intkaf) (file-write-date intkaf)))
@@ -674,7 +674,7 @@
     (when intkafdate
      (unless (and mntkafdate (> mntkafdate intkafdate))
       (format t "~&copying ~s to ~s" intkaf mntkaf)
-      (obey
+      (|runCommand|
        (concatenate 'string "cp " 
          (namestring intkaf) " " (namestring mntkaf)))))
     (setq lspdate (and (probe-file dotlsp) (file-write-date dotlsp)))
diff --git a/src/interp/vmlisp.lisp b/src/interp/vmlisp.lisp
index 76b52318..0d3f8522 100644
--- a/src/interp/vmlisp.lisp
+++ b/src/interp/vmlisp.lisp
@@ -1893,20 +1893,6 @@
  ())
 
   
-#+(and :Lucid (not :ibm/370))
-(defun OBEY (S)
-  (system::run-aix-program (|makeAbsoluteFilename| "/lib/obey")
-                       :arguments       (list "-c" S)))
-#+:cmulisp
-(defun OBEY (S)
-   (ext:run-program (|makeAbsoluteFilename| "/lib/obey")
-                    (list "-c" S) :input t :output t))
-#+(OR IBCL KCL :CCL)
-(defun OBEY (S) (SYSTEM S))
-
-#+:allegro
-(defun OBEY (S) (excl::run-shell-command s))
-
 (defun RE-ENABLE-INT (number-of-handler) number-of-handler)
 
 
-- 
cgit v1.2.3