 
   comments_not_done_to: (lineno) ->
     res = []
-    while 1
+    loop
       break if @comments.length == 0
       c = @comments[0]
-      if c.lineno < lineno
+      # console.log "test comment #{c.lineno}<#{lineno} #{c.lineno < lineno} #{i.lineno for i in @comments}"
+      if (c.lineno < lineno)
+        # console.log "took",c
         res.push(@make_comment c)
         @comments.shift()
         continue

      @l(n)+"/#{value}/#{flag}"

  'string': (n) ->
    @l(n)+strEscape n.value

  # `call`  
  # A Function call.

  l: (n) ->
    # todo: this could be configurable debug helper
    # console.log n if n.lineno in [1]
    if n and n.lineno
       "\uFEFE#{n.lineno}\uFEFE"
    else
      ""

  make_comment: (comment) ->
    c = ("##{line}" for line in comment.value.split("\n")).join("\n")
