Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on Oct 12, 2012
  1. @netguy204

    compiler warns on deprecated function and protocol use

    netguy204 authored David Nolen committed
    If a deprecated function is invoked or a deprected protocol is
    implemented the compiler will issue a warning.
    These warnings can be suppressed by binding *cljs-warn-fn-deprecated*
    to false or by attaching the ^:deprecation-nowarn metadata to the
    invocation form or to the protocol symbol.
Commits on Oct 9, 2012
  1. CLJS-391: add some missing IEmptyableCollection impls

    Tom Jack authored David Nolen committed
  2. @ohpauleez

    Hashbang/Shebang updated use env; Fixes #CLJS-385

    ohpauleez authored David Nolen committed
Commits on Sep 29, 2012
  1. refactor some ugly code in cljs.closure/build

    David Nolen authored
  2. @ohpauleez

    When compiling node, toggle *main-cli-fn* last refs #355

    ohpauleez authored David Nolen committed
Commits on Sep 28, 2012
  1. @edtsech

    Improve implementation of clojure.string/blank?

    edtsech authored David Nolen committed
  2. CLJS-379: optimize tail call in linear-traversal-nth

    Tom Jack authored David Nolen committed
  3. @stuartsierra
  4. @brentonashworth
  5. @brentonashworth

    Use records to implement IJavaScriptEnv instead of extending to

    brentonashworth authored
    This is just flat out better and will allow one to create Rhino and
    Browser evaluation environments within the same process.
Commits on Sep 26, 2012
  1. @cemerick @stuartsierra

    CLJS-382: use set to track visited requires so contains? works properly

    cemerick authored stuartsierra committed
    Signed-off-by: Stuart Sierra <>
Commits on Sep 20, 2012
  1. CLJS-378: port

    Tom Jack authored David Nolen committed
Commits on Sep 13, 2012
  1. @cemerick

    CLJS-377: allow any sequential value for :only and :refer `ns` options

    cemerick authored David Nolen committed
Commits on Sep 9, 2012
  1. @emezeske

    Fix a print(ln) regression where two newlines would be printed.

    emezeske authored David Nolen committed
Commits on Sep 8, 2012
  1. symbol's :else clause was outside the cond expr, breaking behavior. f…

    David Nolen authored
    …ix + test.
Commits on Sep 7, 2012
  1. CLJS-376: `case` doesn't match symbols.

    David Nolen authored
  2. clean up some declares

    David Nolen authored
  3. Changes to remove calls to truth_. move identical? nil? not higher

    David Nolen authored
    up. eliminate the declare. similarly move Reduced, reduced, reduced?,
    counted?, indexed? and eliminate declares around them. eliminate
    truth_ call in find. set *unchecked-if* true for body of apply.
  4. add missing fast path protocols

    David Nolen authored
Commits on Sep 6, 2012
  1. @cemerick

    CLJS-373: prevent output from attempting to load deps.js when compile…

    cemerick authored David Nolen committed
    …d w/ :whitespace
Commits on Sep 5, 2012
  1. fail faster on js/Infinity && js/NaN since these cases much be tested…

    David Nolen authored
    … anyway - doing arithmetic on these cases is slow. Extra tests do incur a small perf hit when testing actual numbers.
  2. add boolean type-hint to isNaN call

    David Nolen authored
  3. @brandonbloom

    CLJS-370: Fix integer? for integral floating point expressions

    brandonbloom authored David Nolen committed
  4. @emezeske

    Optimize pr-str by making more use of StringBuffer.

    emezeske authored David Nolen committed
    Previously, a huge number of temporary vectors and lazy sequences were
    built up and concat-ed, which ran reasonably on newer JS engines (e.g.
    V8) but suffered from miserable performance on old engines (such as
    IE8).  By passing a StringBuffer down the callstack and appending to
    that, performance gains of 10-100X can be seen in older JS engines.
    For backwards compatibility, the new fastpath uses a new
    IPrintWithWriter protocol, and the old IPrintable is left in place.
    The old protocol is used as a fallback for items that do not satisfy
Commits on Sep 3, 2012
  1. @brandonbloom

    CLJS-346: Complete fix for CLJS-319 pr-str regression

    brandonbloom authored David Nolen committed
Commits on Aug 31, 2012
  1. @brandonbloom

    Eliminates incorrect merging of metadata when redefining vars

    brandonbloom authored David Nolen committed
  2. CLJS-336: Hyphenated Protocols

    David Nolen authored
  3. @michalmarczyk

    CLJS-312: support :import, emit goog.provide for types/records

    michalmarczyk authored David Nolen committed
    The following declaration causes the bar.Quux goog.provide'd
    namespace/class/type/record be :require'd :as Quux and the symbol Quux
    to act as an alias for bar.Quux in the foo.core namespace:
    (ns foo.core
      (:import bar.Quux))
    The compiler now emits goog.provide calls for deftype/defrecord forms
    emitted from within compile-file*. Only one goog.provide will be
    emitted for each type name defined in a given file, even in the
    presence of multiple definitions specifying the same name. This has
    the side effect of enabling deftype/defrecord-created types to be
    specified as GClosure dependencies (in particular, it enables
    deftype/defrecord support in :import).
  4. CLJS-366: revert CLJS-39, broke :when and change no longer necessary …

    David Nolen authored
    …now that we track let expressions in loops.
Commits on Aug 30, 2012
  1. CLJS-361: Invoking anonymous functions with wrong arity does not prod…

    David Nolen authored
    …uce a warning
  2. add apply benchmark

    David Nolen authored
  3. * benchmark/cljs/benchmark_runner.cljs: decrease large vector by orde…

    David Nolen authored
    …r of magnitude
  4. @michalmarczyk

    CLJS-334: produce sane error message when ctor arg to new is not a sy…

    michalmarczyk authored David Nolen committed
Something went wrong with that request. Please try again.