 (defn reader-error
   [rdr & msg]
   (throw (RuntimeException. ^String (apply str msg)))
-  #_ (throw (ReaderException. (get-line rdr) (apply str msg))))
+  #_ (throw (ReaderException. (get-line-number rdr) (get-column-number rdr) (apply str msg))))
 
 (defn macro-terminating? [ch]
   (and (not= \# ch)

      s
      (recur (read-char rdr) (str s c)))))

(deftype LineNumberingPushbackReader
    [^StringPushbackReader spr ^:unsynchronized-mutable line
     ^:unsynchronized-mutable line-start? ^:unsynchronized-mutable prev]
  PushbackReader
  (read-char [reader]

(defn read-string
  "Reads one object from the string s"
  [s]
  (read (string-push-back-reader s) true nil false))

(comment
 (def l (slurp "/home/bronsa/src/clojure/src/clj/clojure/core.clj"))
