       @forwards "'"
       if @expects '(' #list
         return @list()
-      else #atom
-        return @atom()
+      else #quoted atom
+        return @atom(true)
     else if @expects '(' #calling function
       return @call_fun()
     else #atom
-      return @atom()
+      return @atom(false)
 
   program: ->
     ret = []

  forwards_if: (pattern) ->
    @forwards pattern if @expects pattern

  atom: ->
    #number
    if @expects /[0-9]/
      num = ''

    return t if @forwards_if 't'

    #var
    return new Symbol(@symbol(), quoted, @currentPos())

  symbol: ->
    ret = ''
