Hello, As of the freeze of Eclipse: you're probably using 0.10.1. A problem of hangs in relation with the way Counterclockwise was talking to the repl has been fixed in the beta. You could either switch right now to the beta "channel" ( http://ccw.crand.net/updatesite-betas/ ) either wait until Thursday, I'll deliver what is currently in beta into a new stable release (0.10.2)
Sent from a smartphone, please excuse the brevity/typos. Le 13 nov. 2012 à 21:19, "Jim - FooBar();" <jimpil1...@gmail.com> a écrit : > Hi all, > > I've had this unbelievable problem for some time now but I'm sick and tired > of ignoring it! It is literally driving nuts...Due to the nature of the > problem my terminal hangs and Eclipse crashes altogether (potentially losing > work)! > > So what is the problem...Well I really don't have a clue! it is pretty > obvious that my code is waiting on something but it only happens when I've > got a dependency on a namespace of mine which uses seesaw. It is basically my > gui...the bad behaviour is exhibited every time I try to reload my namespace > after having opened a JFrame regardless of having done anything on the frame! > I mean the same happens if I open it and close it straight after! > > anyway, I managed to mock the behaviour with a minimal example: > ------------------------------------------------------------------------------------------------------------- > > (ns Clondie24.games.dummy > (:require [Clondie24.lib.gui :as gui])) > > (def details {:name 'Dummy > :players 2 > :arena-size [420 :by 505] > :tile-size 133}) > > (defn -main > "Starts a graphical (swing) Chess game." > [& args] > (gui/show-gui! details)) > > > (ns Clondie24.lib.gui > (:require [Clondie24.lib.util :as ut] > [Clondie24.lib.core :as core] > [seesaw.core :as ssw] > [seesaw.chooser :as choo]) > (:import [java.awt AlphaComposite Graphics Graphics2D Toolkit] > [java.awt.event MouseEvent] > [javax.swing SwingWorker UIManager]) ) > > (def curr-game (promise)) > (def status-label (ssw/label :id :status :text "Ready!")) > > (defn draw-tiles [d ^Graphics g] > (let [w (ssw/width d) > h (ssw/height d) > tile-size (:tile-size @curr-game) > tiles (map vector (for [x (range 0 w tile-size) > y (range 0 h tile-size)] [x y]) > (cycle (:alternating-colours @curr-game)))] > (when (:alternating-colours @curr-game) > (doseq [[[x y] c] tiles] > (.setColor g c) > (.fillRect g x y tile-size tile-size)) ) > (draw-grid d g) > (draw-images g) > (highlight-rects g))) > > (def canvas "The paintable canvas - our board" > (ssw/canvas > :paint draw-tiles > :id :canvas > :listen [:mouse-clicked (fn [e] (when-not (and (:block? @knobs) > (realized? curr-game)) > (canva-react e)))] > )) > > (defn arena "Constructs and returns the entire arena frame." [] > (ssw/frame > :title "Clondie24 Arena" > :size (:arena-size @curr-game) > :resizable? false > :on-close :exit > :menubar nil ;(make-menubar) > :content (ssw/border-panel > :border 10 > :hgap 10 > :vgap 10 ;;IGNORE ALL THIS FOLLOWING CODE TO SAVE TIME > :north (ssw/horizontal-panel :items > [(ssw/button :text "Undo" :listen [:action (fn [e] > (when-not (:block? @knobs) > (do (refresh :highlighting? false > :hint nil) > (undo!) (ssw/repaint! canvas))))]) [:fill-h 10] > (ssw/button :text "Clear" :listen [:action (fn [e] > (when-not (:block? @knobs) > (do (refresh :highlighting? false > :hint nil) > (clear!) (ssw/repaint! canvas))))]) [:fill-h 10] > (ssw/button :text "Available Moves" :listen [:action > (fn [e] (when-not (:block? @knobs) > (do (refresh > :highlighting? true > :hint nil) > (ssw/repaint! canvas))))]) [:fill-h 10] > (ssw/button :text "Hint" :listen [:action (fn [e] > (when-not (:block? @knobs) > (do (knob! :highlighting? > false) > (with-busy-cursor canvas > (hint (:pref-depth > @curr-game)) :hint))))]) [:fill-h 10]]) > :center canvas > :south status-label))) > > > (defn show-gui! "Everything starts from here." [game-map] > (deliver curr-game game-map) ;firstly make the gui aware of what game we > want it to display > (ssw/invoke-later > (doto (arena) ssw/show!))) > > --------------------------------------------------------------------------------------------------------------------------- > > any thoughts / feedback are greatly welcome. I cannot see why such a standard > setup would hang after trying to reload the dummy namespace. everything > reloads just fine as long as i don't show anything on screen...scary stuff! > > thanks in advance... > > Jim > > > > -- > You received this message because you are subscribed to the Google > Groups "Clojure" group. > To post to this group, send email to clojure@googlegroups.com > Note that posts from new members are moderated - please be patient with your > first post. > To unsubscribe from this group, send email to > clojure+unsubscr...@googlegroups.com > For more options, visit this group at > http://groups.google.com/group/clojure?hl=en -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en