 			   (if-let [num (re-find number-re)]
 			     num
 			     nil))
-			 (if-let [num (re-find #"^\d+(?:(?:/\d+)|(?:(?:.\d*)?(?:e[+-]\d+)?))" s)]
+			 (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]]
	 (if (= k kind)
	   (mangle-fn k t)
	   [k t]))
	    (tokenizer string state)))
    ([string]
       (mangle-tokens* string :initial))))

	  ([string]
	  (tokenizer* string :initial)))]
    (if-let [keywords (:keywords syntax)]
      (mangle-tokens :identifyer (fn [k t s] (if (keywords t) [:keyword t s] [k t s])) tkn)
      tkn)))