         compile()
       else if event is 'rename'
         watcher.close()
-        setTimeout ->
+        wait 250, ->
           compile()
           try
             watcher = fs.watch source, callback
-          catch e then watchErr e
-        , 250
-  catch e then watchErr e
+          catch e  
+            watchErr e
+  catch e 
+    watchErr e
 
 
 # Watch a directory of files for new additions.


  compile = ->
    clearTimeout compileTimeout
    compileTimeout = setTimeout ->
      fs.stat source, (err, stats) ->
        return watchErr err if err
        return if prevStats and (stats.size is prevStats.size and

        fs.readFile source, (err, code) ->
          return watchErr err if err
          compileScript(source, code.toString(), base)

  watchErr = (e) ->
    throw e unless e.code is 'ENOENT'
    removeSource source, base, yes
    compileJoin()

  try
    watcher = fs.watch source, callback = (event) ->
