anchor.diff:  (defparameter *sprite-tree* nil)
   
   (defun reset-settings ()
  -  "Sets <tt>&#42;SETTINGS&#42;</tt> to hard-coded defaults."
  +  "Sets `*SETTINGS*` to hard-coded defaults."
     (setf *settings* 
           (list 
            :theme-path (asdf:system-relative-pathname :click "default_theme")
  
positive.code: 
  (defun load-settings ()
    "Loads the general settings for the Click GUI which override the
  hard-coded defaults. However, these settings are mearly the new
  defaults which may stil be overridden by code using the Click
  library. Settings are specifide in a _p-list_ format and are loaded
  from a file named <tt>.clickrc</tt> in the user's home folder.
  
  h3. Settable Variables
  
  h4. <tt>:THEME-PATH</tt> 
  
  Sets the default theme for the Click GUI. By default the theme path is
  relative to the output of the function:
  <tt>(asdf:system-relative-path-name :click \"default_theme\")</tt>.
  
  h4. <tt>:SCREEN-SIZE</tt>
  
  Sets the default screen size as a two item list. If not specified, the
  hard-coded default is <tt>(800 600)</tt>. For convenience, here are
  some other commonly used screen sizes:
  * <tt>(1024 768)</tt>
  * <tt>(1280 1024)</tt>
  * <tt>(1680 1050)</tt>"
    (let ((clickrc-file
           (merge-pathnames ".clickrc" (user-homedir-pathname))))
      (unless (cl-fad:file-exists-p clickrc-file)
  
negative.code:       (setf *settings* (read settings)))))
  
  (defun init-click (&key (settings *settings*))
    "Initialises Click. Sets the `*WINDOW-MANAGER*`
  global variable to a new instance of `WINDOW-MANAGER`. Also
  sets the `*SPRITE-TREE*` global variable via the
  function `MAKE-SPRITE-TREE`."
    (setf *window-manager* (make-instance 'window-manager)
          *sprite-tree* (make-sprite-tree (getf settings :theme-path))))
  
  