anchor.diff:     (:file "line" :depends-on ("utility-macros"))
      (:file "buffer" :depends-on ("utility-macros"))
      (:file "command-keys" :depends-on ("packages"))
  -   (:c-source-file "signals")
  +   (:uffi-c-source-file "signals")
      (:file "editor" :depends-on ("backend" "rewindable" "signals"
   				"line" "buffer" "command-keys"))
      (:file "main" :depends-on ("editor"))
  
positive.code: 
  (declaim (optimize (debug 3) (safety 3)))
  
  (in-package :asdf)
  
  (defvar *gcc* "/usr/bin/gcc")
  
  
negative.code: 			#+darwin "-bundle"
  			"-fPIC"))
  
  ;;; Separate class so that we don't mess up other packages
  (defclass uffi-c-source-file (c-source-file) ())
  
  (defmethod output-files ((o compile-op) (c uffi-c-source-file))
    (list (make-pathname :name (component-name c)
  		       :type "so"
  		       :defaults (component-pathname c))))
  
  (defmethod perform ((o load-op) (c uffi-c-source-file))
    (let ((loader (intern "LOAD-FOREIGN-LIBRARY" :uffi)))
      (dolist (f (asdf::input-files o c))
        (funcall loader f))))
  
  (defmethod perform ((o compile-op) (c uffi-c-source-file))
    (unless (zerop (run-shell-command "~A ~A ~{~A ~}-o ~A"
  				    *gcc*
  				    (namestring (component-pathname c))
  