1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
* version 0.7.0
- throw+: specify message as fmt & args rather than a single string
- can use % in args (at any depth) to represent the thrown object
- support: move small helper functions into letfns
* version 0.7.1
- throw+: fix so that the thrown object is only eval'd once
* version 0.7.2
- throw+: introduce &thrown-object to allow both single-evaluation
of object and deep substitution of % simultaneously
* version 0.8.0
- breaking change: slingshot.core -> slingshot.slingshot
- remove &thrown-object in favor of a gensym. (the user will never
need to refer to it)
- simplify/clarify support functions
* version 0.9.0
- retire :wrapper and move :throwable to the context proper
- stop using metadata on the context
- provide an example in README.md
- doc string fixes
- change so catch hook always runs even when there are no catch
clauses
- provide slingshot/get-thrown-object to retrieve the object
thrown by throw or throw+ given a Throwable caught within an
ordinary try form.
* version 0.10.0
- add get-throw-context and reimplement get-thrown-object using it
- get-thrown-object will now find stones in cause chains like
try+/catch does
- clients looking for a uniform map-based interface to reading
the object, message, cause, and stack traces of objects thrown
by throw or throw+ now have it
- shortened default message to "throw+: %s"
- reorganize support namespace: context section
- remove references to Stone in docs, replace with wrapper
- slingshot.Stone -> slingshot.ExceptionInfo
- named after similar new class in clojure.lang in 1.4
- no longer redundantly stores message, cause, and stack-trace in
the payload of ExceptionInfo--now stored only in the like-named
member variables
- reduced reflection warnings
- doc update including moving description of throw context to
get-throw context
- provide the immediate object wrapper at :wrapper in the context
(accessible via get-throw-context or in &throw-context)
- use clojure.core's ex-data and ex-info if available, but don't
depend on them
* version 0.10.1
- fix slingshot version in examples to match release
- remove reflection warnings from tests and turn on checking in
project.clj [resolves issue 18]
* version 0.10.2
- accept a simple string as a message for throw+ (issue 19)
- for catch, only interpret a form as a selector if it contains a %
symbol, allows function literals for predicates (issue 20)
* version 0.10.3
- make exception class available from support and add clojure.test
support for testing that the proper exception is thrown (issue 21)
- remove replace-all and % substitution in source in favor of using
let to bind % (issue 22)
- key-value pair -> key-values, generalize key-value selector to
allow any even number of items in the vector (issue 23)
|