atoms.lisp: Move `export' calls to near the appropriate definition.
[atoms] / atoms.lisp
index af9a21c..3f225b3 100644 (file)
@@ -26,8 +26,7 @@
        #+cmu #:ext
        #+sbcl #:sb-ext
        #+clisp #:ext)
-  #+clisp (:shadow #:map-dependents #:add-dependent #:remove-dependent)
-  (:export #:start-atom-game))
+  #+clisp (:shadow #:map-dependents #:add-dependent #:remove-dependent))
 (cl:in-package #:atoms)
 
 (eval-when (:compile-toplevel :load-toplevel :execute)
 
 (defun update-undo-redo-sensitivity (window)
   (with-slots (actions game) window
-    (setf (gtk:action-sensitive-p
-          (gtk:action-group-get-action actions "undo"))
-         (undo-list game)
-         (gtk:action-sensitive-p
-          (gtk:action-group-get-action actions "redo"))
-         (redo-list game))))
+    (flet ((set-sensitive (act-name sensitivep)
+            (let ((act (gtk:action-group-get-action actions act-name)))
+              (setf (gtk:action-sensitive-p act) sensitivep))))
+      (set-sensitive "undo" (undo-list game))
+      (set-sensitive "redo" (redo-list game)))))
 
 (defmethod notify progn
     ((window atom-game-window) (game atom-game) aspect &key)
 
 (defvar *window* nil)
 
+(export 'start-atom-game)
 (defun start-atom-game (&rest initargs)
   (when *window*
     (gtk:widget-destroy *window*)