 	  ([string]
 	  (tokenizer* string :initial)))]
     (if-let [keywords (:keywords syntax)]
-      (mangle-tokens :identifyer (fn [k t] (if (keywords t) [:keyword t] [k t])) tkn)
+      (mangle-tokens :identifyer (fn [k t s] (if (keywords t) [:keyword t s] [k t s])) tkn)
       tkn)))
			   (if-let [num (re-find number-re)]
			     num
			     nil))
			 (if-let [num (re-find #"^\d+(?:(?:/\d+)|(?:(?:.\d*)?(?:e[+-]\d+)?))" s)]
			   num
			   nil)))]
  (def clj-syntax

(defn mangle-tokens [kind mangle-fn tokenizer]
  (fn mangle-tokens*
    ([string state]
       (map (fn [[k t s]]
	 (if (or (nil? kind) (= k kind))
	   (mangle-fn k t s)
	   [k t s]))
	    (tokenizer string state)))
    ([string]
       (mangle-tokens* string :initial))))
