anchor.diff:  
   ;;; Presentation types
   
  -(define-presentation-type class () :inherit-from 'expression)
  +(define-presentation-type specializer () :inherit-from 'expression)
  +(define-presentation-type class () :inherit-from 'specializer)
  +(define-presentation-type eql-specializer () :inherit-from 'specializer)
   (define-presentation-type class-name () :inherit-from 'symbol)
   (define-presentation-type slot-definition () :inherit-from 'expression)
  -(define-presentation-type function-name () :inherit-from 'symbol)
  +
  +(define-presentation-type-abbreviation function-name () 
  +  `(and expression (satisfies legal-and-fboundp)))
  +
  +(defun legal-and-fboundp (object)
  +  (and #+sbcl (sb-int:valid-function-name-p object)
  +       #-sbcl (typep object '(or symbol (cons (eql setf))))
  +       (fboundp object)))
  +
   (define-presentation-type process () :inherit-from 'expression)
   (define-presentation-type generic-function () :inherit-from 't)
   
  
positive.code: 				     :command-table lisp-commands
                                       :menu t
  				     :provide-output-destination-keyword nil)
    ((symbol 'symbol :prompt "function-name"))
    (clim-sys:make-process (lambda () (ed symbol))))
  
  (defun editable-definition-p (symbol)
    (fboundp symbol))
  
  (define-presentation-to-command-translator edit-definition
    (symbol com-edit-definition lisp-commands :gesture :select
  	  :pointer-documentation ((object stream)
  				  (format stream "Edit Definition of ~A" object))
  	  :documentation ((stream) (format stream "Edit Definition"))
  	  :tester ((object)
  		   (editable-definition-p object)))
    (object)
    (list object))
  		   
  
negative.code: 
  (define-presentation-type package-name () :inherit-from 'string)
  (define-presentation-method presentation-typep (object (type package-name))
    (find-package object))
  
  ;;; Presentation methods
  
  