           (zip-one 
             text offset line col parents parser-state 
             (-> accumulated-state (conj (peek parents))))
-          (-> accumulated-state (conj (peek parents)))) 
+          (let [new-node (peek parents)
+                new-node (assoc new-node :content (if-let [opening-delimiter (*opening-brackets* (:tag new-node))]
+                                           [(str opening-delimiter)]
+                                           []))]
+            (-> accumulated-state (conj new-node)))) 
       (or
         (< (count parents) (count accumulated-state))
         (and (= :eof parser-state) (*atoms* (-> accumulated-state peek :tag))))


; bugs:
; \newlinb should be an error, not \n + symbol ewlinb

(ns paredit.parser
	(:use clojure.test))

; 1.a  (and move the special handling of zipping terminals up on :eof from default-handler to default-maker ?)
; 2. correctly handle clojure specificities : #{} #^ #"" ' ` @ #^ ^ #' #_ #() ~ ~@ foo# #!
; 3. correctly handle the premature :eof on non closed structures (a cause of error)
; 4. correctly handle parsetree errors (wrong closing of bracket (this one done), ... TODO finish the exhaustive list)
; 5. make the parser restartable
; 6. make the parser incremental 
; 7. refactor the code so that the handling of advancing offset, line, column ... is mutualized (be aware of not introducing regressions in the handling of atoms and spaces terminals)
