CoffeeScriptで「unmatched OUTDENT」エラーが出たら


コンパイルエラー最多登板賞はキミだ!

「unmatched OUTDENT」様!

/.../goldblend.coffee:453:22: error: unmatched OUTDENT
      compile filedst
                     ^

彼が現れたら、余分な開きカッコがあるかもね!(ふつうに、コンパイラのゆーとおり、インデントが崩れているだけかも知れませんが……) インデントの末尾にエラーが指摘されているけど、その場合エラーの在処はそのスコープの冒頭部です。文脈によっては、レイアウトによるスコープを伴っていても

/.../app.coffee:91:9: error: missing )
app.get ('/session-create', (req, res) ->
        ^

と適切に指摘してくれるので、この辺、何が境目なのかよく分かりません。そして、コンパイラの中を読んでみるつもりもないのでありました。(とは言え、何となく、if / for / switchのスコープ内にある無名関数でOUTDENTと言われるような傾向は感じます)

goldblend.coffee(quote)
  if watch?     #↓これが要らない子
    fs.watchFile (filesrc, (curr, prev) ->
      doconv filedst,filesrc
      compile filedst

ただしくは、

goldblend.coffee(quote)
  if watch?
    fs.watchFile filesrc, (curr, prev) ->
      doconv filedst,filesrc
      compile filedst

目下、「unmatched OUTDENT」は、私がCoffeeScriptで出会うコンパイルエラーの圧倒的1位をひた走っております。