anchor.diff:    ;; But we can at least deal gracefully with whatever does reach here.
     (incf *commands-in-process*)
     (let ((val (multiple-value-list
  -	      (process-sw-shell-command (if (symbolp command)
  -					    (intern (symbol-name command) *sw-shell-pkg*) 
  -					  command)
  +	      (funcall *current-command-processor*
  +		       (if (symbolp command)
  +			   (intern (symbol-name command) *sw-shell-pkg*) 
  +			   command)
   					argstr))))
       (decf *commands-in-process*)
       (if (null val)
  
positive.code:   (cond ((and (consp command) (null argstr))
  	 (lisp-value (multiple-value-list (eval command))))
  	((symbolp command)
  	 (case command
  	   (help      (let ((cl-user::*sw-help-strings*
  			     (append *sw-shell-help-strings*
  				     (if *developer?*
  
negative.code: 
  (defvar *commands-in-process* 0)
  
  (defvar *current-command-processor* 'process-sw-shell-command)
  
  ;;; Used by slime-based interface
  ;;; From slime.el:  (defvar sw:*shell-command-function* "SWShell::process-raw-command")
  (defun process-raw-command (command argstr)
  