anchor.diff:  	(if (MetaSlang::equalTerm?-2 (car *transform-term*) (car new-term))
   	    (format t "No effect!")
   	    (progn 
  -	      (push-state)
  +	      (push-state `(interpret-command ,command))
   	      (setq *transform-term* new-term)
   	      (push command *transform-commands*)
   	      (print-current-term)))
  
positive.code: 
  (defun finish-transform-session ()
    (finish-previous-multi-command)
    (if (null *transform-commands*)
        (format t "No transformations")
        (Script::printScript (Script::mkSteps *transform-commands*)))
    (setq *current-command-processor* 'process-sw-shell-command)
    (setq *prompt* "* ")
    (emacs::eval-in-emacs "(setq *sw-slime-prompt* \"* \")")
  
negative.code: (defvar *transform-term*)		; Actually a pair of current term and its parent
  (defvar *transform-commands*)
  (defvar *undo-stack*)
  (defvar *redos*)
  (defvar *redoing?* nil)
  
  (defun initialize-transform-session (spc)
    (setq *transform-spec* spc)
  