 watchDir = (source, base) ->
   readdirTimeout = null
   try
+    watchedDirs[source] = yes
     watcher = fs.watch source, ->
       clearTimeout readdirTimeout
       readdirTimeout = wait 25, ->

sources      = []
sourceCode   = []
notSources   = {}
optionParser = null

# Run `coffee` by parsing passed options and determining what action to take.

            return unwatchDir source, base
          for file in files when not hidden(file) and not notSources[file]
            file = path.join source, file
            continue if file in sources or watchedDirs[file]
            sources.push file
            sourceCode.push null
            compilePath file, no, base
