<< Back to previous view

[CONTRIB-1] Move Clojure Contrib issues from GC to Assembla Created: 10/Jun/09  Updated: 17/Jun/11  Resolved: 17/Jun/11

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Unassigned
Resolution: Completed Votes: 0
Labels: None


 Description   

Sorry, Rich, taking over #1 here.

All issues (even closed ones!) from Contrib's Google Code issue tracker need to be moved over to assembla.

Full list of issues at GC

Take a look at the Clojure space tickets for an example of how it was done there

Note: The tickets should be moved in order; also, please leave them unassigned to anyone or to any milestone

Hint: You can add the tickets all as "new" at first and then use the batch update feature to change their attributes
to match Google Code.



 Comments   
Comment by Assembla Importer [ 24/Aug/10 3:41 AM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/1

Comment by Assembla Importer [ 24/Aug/10 3:41 AM ]

stuart.sierra said: Updating tickets (#1, #2, #3, #4, #6, #20, #23, #25, #30, #31, #33, #34, #35, #37, #38, #52, #55, #58, #59, #60, #61, #62, #63, #64)

Comment by Chas Emerick [ 17/Jun/11 8:42 PM ]

We're on JIRA now, so this is surely irrelevant at this point.





[CONTRIB-6] Add set of regular expression functions Created: 23/Jul/09  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Howard Lewis Ship
Resolution: Declined Votes: 0
Labels: None


 Description   

A couple of RE utilities I developed for Cascade that I no longer need but are generally useful.



 Comments   
Comment by Assembla Importer [ 24/Aug/10 2:00 PM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/6
Attachments:
re.diff - https://www.assembla.com/spaces/clojure/documents/bJLaTSDWWr3PNFeJe5aVNr/download/bJLaTSDWWr3PNFeJe5aVNr

Comment by Assembla Importer [ 24/Aug/10 2:00 PM ]

hlship said: [file:bJLaTSDWWr3PNFeJe5aVNr]: patch file

Comment by Assembla Importer [ 24/Aug/10 2:00 PM ]

stuart.sierra said: An equivalent to re-map is present in str-utils2 & 3, not sure about re-partition

Comment by Assembla Importer [ 24/Aug/10 2:00 PM ]

stuart.sierra said: Updating tickets (#1, #2, #3, #4, #6, #20, #23, #25, #30, #31, #33, #34, #35, #37, #38, #52, #55, #58, #59, #60, #61, #62, #63, #64)

Comment by Assembla Importer [ 24/Aug/10 2:00 PM ]

stu said: re-partition seems to be on the borderline in terms of generality. If it really has important use cases, please re-implement to be lazy.





[CONTRIB-4] Purge removed libraries from load_all.clj Created: 01/Jul/09  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Stuart Halloway
Resolution: Completed Votes: 0
Labels: None


 Description   

(load "clojure/contrib/load_all") has not worked since the penultimate commit to clojure-contrib, as libraries are being moved to core. all-contrib-libs needs to be adjusted to match the new set of libraries.



 Comments   
Comment by Assembla Importer [ 24/Aug/10 1:51 PM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/4
Attachments:
load_all.diff - https://www.assembla.com/spaces/clojure/documents/c6XnLWzMGr3QkbeJe5aVNr/download/c6XnLWzMGr3QkbeJe5aVNr

Comment by Assembla Importer [ 24/Aug/10 1:51 PM ]

hircus said: [file:c6XnLWzMGr3QkbeJe5aVNr]: git-generated diff to load_all.clj

Comment by Assembla Importer [ 24/Aug/10 1:51 PM ]

scgilardi said: If it's feasible, it would be good to add load-all to the tests that are run by "ant test" so it gets run frequently. (I run ant test every time I build clojure and contrib.)

Comment by Assembla Importer [ 24/Aug/10 1:51 PM ]

scgilardi said: In case somebody likes this idea gets to this before I do: I think it would be cool for load-all to figure out what all the clojure-contrib libraries are on its own: perhaps by searching in the resources in the clojure-contrib Jar file for ns declarations that are exactly "clojure.contrib.[^.]+$" (only one component after clojure.contrib).

We could then maintain a list in the load-all vicinity of only those libraries that should not be loaded by load-all. That seems much easier to maintain as we'll automatically be prompted (by a failure to load) if we forget an exclusion.

Comment by Assembla Importer [ 24/Aug/10 1:51 PM ]

stuart.sierra said: Updating tickets (#1, #2, #3, #4, #6, #20, #23, #25, #30, #31, #33, #34, #35, #37, #38, #52, #55, #58, #59, #60, #61, #62, #63, #64)

Comment by Assembla Importer [ 24/Aug/10 1:51 PM ]

stu said: Here's the approach I took:

  • moved the file from main to test
  • used find-namespace to find all the namespaces
  • removed the deprecated ones
  • manufactured one unit test per namespace that tries to load the namespace




[CONTRIB-2] Clojure tests: sets Created: 19/Jun/09  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: rnewman
Resolution: Declined Votes: 0
Labels: None


 Description   

Tracking ticket for work on Clojure contributed test suite.

First basic commit in forked GitHub repo:

http://github.com/rnewman/clojure-contrib/commit/1c2d3d6f9ae91abf5a7861706e0173f3290dd926

This covers difference, project, join.

Maintainers: I know the Clojure patch doc says "create a patch". Would a link to the commit suffice? It seems that a `git pull` and a link to a permanent record of the contents would serve better than using the issue tracker and patch files as a primitive form of version control, at least for real work-in-progress stuff���



 Comments   
Comment by Assembla Importer [ 24/Aug/10 12:45 AM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/2

Comment by Assembla Importer [ 24/Aug/10 12:45 AM ]

mikehinchey said: This ticket should be closed as invalid. Clojure tests were moved from contrib to clojure. Also, Richard's link to github is now dead.

Comment by Assembla Importer [ 24/Aug/10 12:45 AM ]

stuart.sierra said: Updating tickets (#1, #2, #3, #4, #6, #20, #23, #25, #30, #31, #33, #34, #35, #37, #38, #52, #55, #58, #59, #60, #61, #62, #63, #64)

Comment by Assembla Importer [ 24/Aug/10 12:45 AM ]

oranenj said: I'm just closing this as invalid as it doesn't seem relevant anymore. Contrib tickets seem to have become unmaintained :/

If someone disagrees, please reopen

Comment by Assembla Importer [ 24/Aug/10 12:45 AM ]

stu said: Updating tickets (#2, #3, #33, #38, #51, #52, #65, #67, #70)





[CONTRIB-10] Implementation-specific logging functions are using reflection Created: 05/Aug/09  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Alexander Taggart
Resolution: Completed Votes: 0
Labels: None


 Description   

As reported by Richard Newman via email.

The lack of type hinting results in multiple reflective calls even if the logging level is disabled. Not fast.



 Comments   
Comment by Assembla Importer [ 24/Aug/10 12:07 AM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/10
Attachments:
logging-type-hinting.diff - https://www.assembla.com/spaces/clojure/documents/aoZzXWGI0r3PQKeJe5afGb/download/aoZzXWGI0r3PQKeJe5afGb

Comment by Assembla Importer [ 24/Aug/10 12:07 AM ]

ataggart said: [file:aoZzXWGI0r3PQKeJe5afGb]: Patch to stop reflection

Comment by Assembla Importer [ 24/Aug/10 12:07 AM ]

ataggart said: Implementation-specific functions no longer need reflection. Now the only reflection warnings remaining are a result of the proxy methods for the log-stream (flush and reset), which I can't figure out how to solve.

Comment by Assembla Importer [ 24/Aug/10 12:07 AM ]

tomfaulhaber said: (In revision:6dd2205627cd524894b1175da20ce9c5ac65aef7) Added type hints to remove reflection when implementation-specific functions are invoked.
Fixes #10

Branch: master





[CONTRIB-3] Agent shutdown introduces AccessControlException when compiling via ant Created: 22/Jun/09  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Unassigned
Resolution: Completed Votes: 0
Labels: None


 Description   

The change that fixes issue Clojure Ticket #124 introduces an AccessControlException when building via ant on java 1.5 and java 1.6/osx:

[java] java.security.AccessControlException: access denied (java.lang.RuntimePermission modifyThread)
[java] at java.security.AccessControlContext.checkPermission(AccessControlContext.java:264)
[java] at java.security.AccessController.checkPermission(AccessController.java:427)
[java] at java.util.concurrent.ThreadPoolExecutor.shutdown(ThreadPoolExecutor.java:894)
...

For discussion see this post

The attached patch is a modification to "build.xml" which fixes the problem for java 1.5/osx and java 1.6/osx.



 Comments   
Comment by Assembla Importer [ 24/Aug/10 1:46 PM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/3
Attachments:
compilation.diff - https://www.assembla.com/spaces/clojure/documents/d7aye4x0er3RUGeJe5aVNr/download/d7aye4x0er3RUGeJe5aVNr

Comment by Assembla Importer [ 24/Aug/10 1:46 PM ]

achimpassen said: [file:d7aye4x0er3RUGeJe5aVNr]

Comment by Assembla Importer [ 24/Aug/10 1:46 PM ]

stuart.sierra said: Updating tickets (#1, #2, #3, #4, #6, #20, #23, #25, #30, #31, #33, #34, #35, #37, #38, #52, #55, #58, #59, #60, #61, #62, #63, #64)

Comment by Assembla Importer [ 24/Aug/10 1:46 PM ]

oranenj said: As clojure-contrib is built by Maven now and there is no build.xml in the repository, I will consider this ticket fixed.

Comment by Assembla Importer [ 24/Aug/10 1:46 PM ]

stu said: Updating tickets (#2, #3, #33, #38, #51, #52, #65, #67, #70)





[CONTRIB-14] Performance enhancements needed for logging Created: 13/Aug/09  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Alexander Taggart
Resolution: Completed Votes: 0
Labels: None


 Description   
  • The enabled check should occur prior to sending off to an agent.
  • The allow-direct-logging flag should default to true.
  • Replace the map of implementation-specific functions with a direct def of them.
  • Memoize the get-log function.


 Comments   
Comment by Assembla Importer [ 24/Aug/10 2:12 PM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/14
Attachments:
logging-14.diff - https://www.assembla.com/spaces/clojure/documents/bUbU0yH9Wr3RwjeJe5afGb/download/bUbU0yH9Wr3RwjeJe5afGb

Comment by Assembla Importer [ 24/Aug/10 2:12 PM ]

ataggart said: [file:bUbU0yH9Wr3RwjeJe5afGb]: Patch to make performance enhancements

Comment by Assembla Importer [ 24/Aug/10 2:12 PM ]

tomfaulhaber said: (In revision:44e4c23000a7cdee5395006dadc2eb1b58bc9b9d) Implementation changes to improve performance
see #14

Signed-off-by: Tom Faulhaber <git_net@infolace.com>

Branch: master





[CONTRIB-9] Invoking namespaced log macro is tedious Created: 04/Aug/09  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Alexander Taggart
Resolution: Completed Votes: 0
Labels: None


 Description   

Current style is fine when using :use, but looks ugly when using :require. For example:

(ns foo.bar
    (:require (clojure.contrib [logging :as log])))
(log/log :debug "Hello World!")</code></pre>

Adding convenience macros for the 6 logging levels would mean invoking:
<pre><code>(log/debug "Hello World!")

Which looks much nicer.



 Comments   
Comment by Assembla Importer [ 24/Aug/10 1:06 PM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/9
Attachments:
logging-4.diff - https://www.assembla.com/spaces/clojure/documents/dBZ8R2Gmmr3QoLeJe5aVNr/download/dBZ8R2Gmmr3QoLeJe5aVNr

Comment by Assembla Importer [ 24/Aug/10 1:06 PM ]

ataggart said: [file:dBZ8R2Gmmr3QoLeJe5aVNr]: Implementation patch

Comment by Assembla Importer [ 24/Aug/10 1:06 PM ]

tomfaulhaber said: Fixed in commit 6c95fe9





[CONTRIB-13] Add test coverage for seq-utils Created: 07/Aug/09  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Stuart Sierra
Resolution: Completed Votes: 0
Labels: None


 Description   

I realized that seq-utils is untested based on this discussion:

http://groups.google.com/group/clojure/browse_thread/thread/2be768e15d2b717a

I'll be adding unit tests to ensure coverage, for future changes.



 Comments   
Comment by Assembla Importer [ 24/Aug/10 7:09 AM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/13
Attachments:
create-seq-utils-test.diff - https://www.assembla.com/spaces/clojure/documents/aG1hp6G9Kr3REGeJe5afGb/download/aG1hp6G9Kr3REGeJe5afGb

Comment by Assembla Importer [ 24/Aug/10 7:09 AM ]

devlinsf said: [file:aG1hp6G9Kr3REGeJe5afGb]: Test coverage for seq-utils

Comment by Assembla Importer [ 24/Aug/10 7:09 AM ]

devlinsf said: Preliminary tests complete

Comment by Assembla Importer [ 24/Aug/10 7:09 AM ]

stuart.sierra said: (In revision:407ab8766349881d87d48409601337b1f0dc485a) seq_utils_test.clj: add tests from Sean Devlin; fixes #13

Branch: master





[CONTRIB-5] def: Add defn-memo Created: 09/Jul/09  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Unassigned
Resolution: Completed Votes: 0
Labels: None


 Description   

Idea from google group thread



 Comments   
Comment by Assembla Importer [ 24/Aug/10 7:54 AM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/5

Comment by Assembla Importer [ 24/Aug/10 7:54 AM ]

chouser@n01se.net said: (In revision:4df3fae61cbd538786a73908eb0b8fc176b3fefd) def: Add defn-memo
Fixes #5

Branch: master





[CONTRIB-12] log-system-agent state becomes nil if log level is not enabled. Created: 06/Aug/09  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Alexander Taggart
Resolution: Completed Votes: 0
Labels: None


 Description   

Currently an invocation of do-log will return nil if the log level isn't enabled, thus gives a nil to the log-system-agent. The log-system needs to be returned every time.



 Comments   
Comment by Assembla Importer [ 24/Aug/10 11:08 AM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/12
Attachments:
logging-12.diff - https://www.assembla.com/spaces/clojure/documents/aTmbBkGRKr3PGIeJe5aVNr/download/aTmbBkGRKr3PGIeJe5aVNr

Comment by Assembla Importer [ 24/Aug/10 11:08 AM ]

ataggart said: [file:aTmbBkGRKr3PGIeJe5aVNr]: Patch to fix the bug

Comment by Assembla Importer [ 24/Aug/10 11:08 AM ]

tomfaulhaber said: (In revision:db7ac3aa9a5de29ac9c0107a21a790f90104ad3f) Fixes #12; log-system ref is now always returned.

Branch: master





[CONTRIB-8] Named agent-log function defined within log macro not found at runtime Created: 02/Aug/09  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Unassigned
Resolution: Completed Votes: 0
Labels: None


 Description   

Per an email from Richard Newman:

By adding print statements to the various 'discovery' macros I could confirm that a logging framework was being found. However, when my app (servlet in this case) actually executed a log statement, I got an error that clojure.contrib.logging/agent-log was undefined.

This confused me, because the presence of any send-log form should cause it to be defined in the macroexpansion. My code simply called (log :info "some string"), which eventually expands into (amongst other things) a send-log form.

Simply lifting the function definition out of the macro made the problem go away



 Comments   
Comment by Assembla Importer [ 24/Aug/10 6:06 AM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/8
Attachments:
logging-3.diff - https://www.assembla.com/spaces/clojure/documents/cz6050F98r3RuieJe5aVNr/download/cz6050F98r3RuieJe5aVNr

Comment by Assembla Importer [ 24/Aug/10 6:06 AM ]

ataggart said: [file:cz6050F98r3RuieJe5aVNr]: Patch solves the issue as well as cleaned up the implementation.

Comment by Assembla Importer [ 24/Aug/10 6:06 AM ]

tomfaulhaber said: Late on Sunday night, I didn't think about it too hard. So I hope Alex got it right and I applied it right!





[CONTRIB-11] Default log namespace is incorrect Created: 06/Aug/09  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Alexander Taggart
Resolution: Completed Votes: 0
Labels: None


 Description   

Currently the runtime value of ns is used to namespace calls to log, instead of the ns of the code that calls log. For example:

user=> (ns foo (:use (clojure.contrib logging))) 
nil
foo=> (defn bar [] (log :fatal "in foo/bar")) 
#'foo/bar
foo=> (bar)
#<Agent@4f961bac...>
foo=> (ns baz (:use (clojure.contrib logging)))
nil
baz=>  (foo/bar) 
#<Agent@4f961bac...></code></pre>
and the output to the log is:
<pre><code>2009-08-06 11:05:19,817 FATAL foo - / - in foo/bar
2009-08-06 11:05:38,167 FATAL baz - / - in foo/bar

The second printed namespace is "baz" and it should be the same as the first, "foo".



 Comments   
Comment by Assembla Importer [ 24/Aug/10 7:08 AM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/11
Attachments:
logging-11.diff - https://www.assembla.com/spaces/clojure/documents/cnaHiKGR4r3RZOeJe5afGb/download/cnaHiKGR4r3RZOeJe5afGb

Comment by Assembla Importer [ 24/Aug/10 7:08 AM ]

ataggart said: [file:cnaHiKGR4r3RZOeJe5afGb]: Patch to fix log namespacing

Comment by Assembla Importer [ 24/Aug/10 7:08 AM ]

tomfaulhaber said: (In revision:90f7ea1dec4e7c835cf3a7f98e67c4e02d7d0f64) Fixes #11; log-ns is now captured at macro-expansion-time.

Branch: master





[CONTRIB-15] Streamline clojure.contrib.http.agent interface Created: 17/Aug/09  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Stuart Sierra
Resolution: Completed Votes: 0
Labels: None


 Description   

Simplify the interface to clojure.contrib.http.agent as follows:

  1. Replace separate :on-success and :on-failure callbacks with single :handler callback.
  2. Shorten response-body-bytes/str names to "result" and "result-str."
  3. Shorten response-status/message/headers names to status/message/headers
  4. Provide accessors for request parameters such as URI, headers, body, etc.


 Comments   
Comment by Assembla Importer [ 24/Aug/10 11:14 AM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/15

Comment by Assembla Importer [ 24/Aug/10 11:14 AM ]

stuart.sierra said: (In revision:74f64cdea1debc7e2442f9337f28a25a769792d2) http/agent.clj: streamlined interface, refs #15

This brings http.agent close to completion.

Branch: master

Comment by Assembla Importer [ 24/Aug/10 11:14 AM ]

stuart.sierra said: (In revision:b5fa8307d410a4447e6c36ac5fcaeff0c4f1baff) http/agent.clj: added documentation and examples, refs #15

Branch: master

Comment by Assembla Importer [ 24/Aug/10 11:14 AM ]

stuart.sierra said: (In revision:78637658d879f8859ac6a883e0e0984d63f6ff18) http/agent.clj: more documentation, refs #15

Branch: master





[CONTRIB-16] duck-streams/copy bug on InputStream-to-Writer Created: 17/Aug/09  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Stuart Sierra
Resolution: Completed Votes: 0
Labels: None


 Description   

clojure.contrib.duck-streams/copy works incorrectly when copying an InputStream to a Writer. It does not use the correct buffer size when the buffer is less than full.



 Comments   
Comment by Assembla Importer [ 24/Aug/10 4:14 AM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/16

Comment by Assembla Importer [ 24/Aug/10 4:14 AM ]

stuart.sierra said: Fixed in github, waiting to see if Assembla will notice the commit.

Comment by Assembla Importer [ 24/Aug/10 4:14 AM ]

stuart.sierra said: (In revision:386168c1b3c64f3402dbf7068f6626b55ac825ec) duck_streams.clj: use correct array size, Fixes #16

Branch: master





[CONTRIB-20] Report progress in http.agent Created: 19/Aug/09  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Stuart Sierra
Resolution: Declined Votes: 0
Labels: None


 Description   

clojure.contrib.http.agent provides no way to monitor the progress of the HTTP request/response.

It would be possible to monitor the number of bytes sent and received by replacing duck-streams/copy with a function that updates an atom (or agent) with the number of bytes copied.



 Comments   
Comment by Assembla Importer [ 24/Aug/10 1:15 PM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/20

Comment by Assembla Importer [ 24/Aug/10 1:15 PM ]

stuart.sierra said: Updating tickets (#1, #2, #3, #4, #6, #20, #23, #25, #30, #31, #33, #34, #35, #37, #38, #52, #55, #58, #59, #60, #61, #62, #63, #64)

Comment by Assembla Importer [ 24/Aug/10 1:15 PM ]

stuart.sierra said: Let's be honest, I am never going to implement this.





[CONTRIB-7] Logging functions Created: 24/Jul/09  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Unassigned
Resolution: Completed Votes: 0
Labels: None


 Description   

Logging functions to interact with existing java logging implementations.

Discussed in clojure group: http://groups.google.com/group/clojure/t/b21d1241d47d682f



 Comments   
Comment by Assembla Importer [ 24/Aug/10 2:01 PM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/7
Attachments:
logging.diff - https://www.assembla.com/spaces/clojure/documents/d2q6qwD-8r3QuDeJe5aVNr/download/d2q6qwD-8r3QuDeJe5aVNr
logging-doc.diff - https://www.assembla.com/spaces/clojure/documents/bqM80SEYmr3OxIeJe5aVNr/download/bqM80SEYmr3OxIeJe5aVNr

Comment by Assembla Importer [ 24/Aug/10 2:01 PM ]

ataggart said: [file:d2q6qwD-8r3QuDeJe5aVNr]: implementation patch

Comment by Assembla Importer [ 24/Aug/10 2:01 PM ]

ataggart said: [file:bqM80SEYmr3OxIeJe5aVNr]: Cleaned up some of the docs and added the copyright notice

Comment by Assembla Importer [ 24/Aug/10 2:01 PM ]

tomfaulhaber said: Fixed with commit beba7b088ef67a16c57f592b7d845a6f3b8dfa0d





[CONTRIB-17] str-utils2: seq-like functions have different argument order Created: 18/Aug/09  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Stuart Sierra
Resolution: Completed Votes: 0
Labels: None


 Description   

clojure.contrib.str-utils2 contains several functions with the same names as clojure.core functions: take, drop, butlast. However, their argument order is reversed from the order used by the clojure.core functions.

One of the stated design goals of str-utils2 is to have all functions take the string they are operating on as their first argument, to enable easy composition with ->

Either these functions should be renamed, as "str-take", or a note should be added to their documentation explaining the argument order.



 Comments   
Comment by Assembla Importer [ 24/Aug/10 7:14 AM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/17

Comment by Assembla Importer [ 24/Aug/10 7:14 AM ]

stuart.sierra said: (In revision:3b6d95140393bf78930c9f4045ba2feab36f3946) str_utils2.clj: explain argument order of take/drop/butlast, refs #17

Branch: master

Comment by Assembla Importer [ 24/Aug/10 7:14 AM ]

stuart.sierra said: Added documentation, don't want longer function names or to break the string-argument-first design.





[CONTRIB-24] Dependency from clojure-contrib to clojure is incorrect (for Maven snapshot builds) Created: 23/Aug/09  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Howard Lewis Ship
Resolution: Completed Votes: 0
Labels: None


 Description   

The version number of Clojure is still listed in pom.xml as 1.0-SNAPSHOT, but should be 1.1.0-alpha-SNAPSHOT to track the master of clojure-contrib against the master of clojure-lang.



 Comments   
Comment by Assembla Importer [ 24/Aug/10 4:17 AM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/24
Attachments:
0001-Change-version-number-of-clojure-lang-dependency.patch - https://www.assembla.com/spaces/clojure/documents/d0vOJgKN8r3PeveJe5aVNr/download/d0vOJgKN8r3PeveJe5aVNr

Comment by Assembla Importer [ 24/Aug/10 4:17 AM ]

hlship said: [file:d0vOJgKN8r3PeveJe5aVNr]

Comment by Assembla Importer [ 24/Aug/10 4:17 AM ]

hlship said: I believe this is the last problem with the CI server build (and thus the Maven nightlies). Because the version number is wrong, clojure-contrib can't build on the CI server, since clojure-contrib master needs clojure-lang master but is getting clojure-lang 1.0.

Comment by Assembla Importer [ 24/Aug/10 4:17 AM ]

hlship said: (In revision:0ef485fc1e2c80d6d531b5f8874f051e0f4c7d0a) Change version number of clojure-lang dependency.

Closes #24

Signed-off-by: scgilardi <scgilardi@gmail.com>

Branch: master





[CONTRIB-18] java-utils/as-str could be variadic Created: 19/Aug/09  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Stuart Sierra
Resolution: Completed Votes: 0
Labels: None


 Description   

Compojure has a function called str* that works like clojure.core/str but uses the names of symbols/keywords instead of their literal representation.

clojure.contrib.java-utils/as-str fulfills the same purpose, but only accepts a single argument.

as-str could be 100% compatible with str if it became variadic:

(defn as-str
  [& args]
  (apply str (map (fn [x] (if (instance? clojure.lang.Named x)
                            (name x) x))
                  args)))

user> (as-str "Hello, " :World)
"Hello, World"


 Comments   
Comment by Assembla Importer [ 24/Aug/10 4:15 AM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/18

Comment by Assembla Importer [ 24/Aug/10 4:15 AM ]

stuart.sierra said: (In revision:5dbecc380cbb65afff33648325f1e3b44b535143) java_utils.clj: made as-str variadic like str, fixes #18

This commit also includes tests for this function.

Branch: master





[CONTRIB-23] Clojure AOT compilation will compile unwanted classes Created: 23/Aug/09  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Unassigned
Resolution: Declined Votes: 0
Labels: None


 Description   

My build file specifies the namespaces to AOT compile but if I include another namespace (even from a JAR dependency) that is not AOT compiled, the other namespace will be compiled as well.

In my case, I was using clojure-contrib's clojure.contrib.str-utils2 namespace, and I got a bunch of clojure/contrib/str_utils2 classes in my output directory.

I think that the AOT compiler should NOT precompile any namespaces that are transitively reached, only namespaces in the set specified by the command line are appropriate.

As currently coded, you will frequently find unwanted third-party dependencies in your output JARs; further, if multiple parties depend on the same JARs, this could cause bloating and duplication in the eventual runtime classpath.

Note: I'm tracking against master for both clojure and clojure-contrib.



 Comments   
Comment by Assembla Importer [ 24/Aug/10 4:17 AM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/23

Comment by Assembla Importer [ 24/Aug/10 4:17 AM ]

stuart.sierra said: Updating tickets (#1, #2, #3, #4, #6, #20, #23, #25, #30, #31, #33, #34, #35, #37, #38, #52, #55, #58, #59, #60, #61, #62, #63, #64)

Comment by Assembla Importer [ 24/Aug/10 4:17 AM ]

stuart.sierra said: I don't quite understand this ticket, but clojure-contrib is no longer AOT-compiled by default except for those namespaces that need it.

Note that Clojure generates one class per fn, so one AOT-compiled namespace produces many classes.

Comment by Assembla Importer [ 24/Aug/10 4:17 AM ]

technomancy said: This is a Clojure issue, not a Contrib issue.





[CONTRIB-22] clojure.contrib.str-utils2 is not AOT compiled Created: 23/Aug/09  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Stuart Halloway
Resolution: Completed Votes: 0
Labels: None


 Description   

build.xml is missing the line to pre-compile the namespace.



 Comments   
Comment by Assembla Importer [ 24/Aug/10 4:17 AM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/22
Attachments:
ticket-22.patch - https://www.assembla.com/spaces/clojure/documents/aQpl6KQH8r3Q2KeJe5afGb/download/aQpl6KQH8r3Q2KeJe5afGb
0001-Automatically-locate-namespaces-to-AOT-compile.patch - https://www.assembla.com/spaces/clojure/documents/c5gnW-QIqr3RD1eJe5afGb/download/c5gnW-QIqr3RD1eJe5afGb
0001-Ticket-22-patch.patch - https://www.assembla.com/spaces/clojure/documents/dAQ4d0QIKr3O-6eJe5afGb/download/dAQ4d0QIKr3O-6eJe5afGb
0002-Reconcile-the-patch-s-copy-of-build.xml-fixing-XML-f.patch - https://www.assembla.com/spaces/clojure/documents/dAVwG8QIKr3O-6eJe5afGb/download/dAVwG8QIKr3O-6eJe5afGb

Comment by Assembla Importer [ 24/Aug/10 4:17 AM ]

hlship said: The patch addresses a number of compilation problems, and fixes things so that a number of tests that were present (but not run) are now run.

I think this is just a starting point, and we need seperate folders to identify main source code, gen classes, and tests so that we don't need so many exclude rules when identifying the namespaces to AOT compile.

Comment by Assembla Importer [ 24/Aug/10 4:17 AM ]

hlship said: I'm tyring to use the Eclipse Clojure plugin, but due to this bug, clojure.contrib.repl_ln is not pre-compiled and so it doesn't work. Please take a few minutes to apply the patch!

Comment by Assembla Importer [ 24/Aug/10 4:17 AM ]

richhickey said: what patch?

Comment by Assembla Importer [ 24/Aug/10 4:17 AM ]

hlship said: That's odd ... what did happen to the patch?

I'll regenerate it, but this is very, very odd. I remember adding it to this ticket (maybe I accidentally added it to a different ticket?).

Comment by Assembla Importer [ 24/Aug/10 4:17 AM ]

hlship said: [file:aQpl6KQH8r3Q2KeJe5afGb]: Patch file

Comment by Assembla Importer [ 24/Aug/10 4:17 AM ]

hlship said: The patch automatically AOT compiles the code; it automatically locates namespaces to compile. I also located a number of "dead" tests (tests that were not being run), some of which needed to be corrected for the move of c.c.test-is to c.test.

Comment by Assembla Importer [ 24/Aug/10 4:17 AM ]

richhickey said: Patches must be prepared with git format-patch:

http://clojure.org/patches

Also, your patch seems to contain many + lines that look to me identical to the lines they replace, which makes it very difficult to see what is new. Any idea why that is happening?

Comment by Assembla Importer [ 24/Aug/10 4:17 AM ]

hlship said: [file:c5gnW-QIqr3RD1eJe5afGb]: patch via git format-patch

Comment by Assembla Importer [ 24/Aug/10 4:17 AM ]

hlship said: I've create the correct patch ... again, sorry for that. I was rushing.

I'm not sure if that's a spaces vs. tabs issue, or a windows/mac line endings issue.

Comment by Assembla Importer [ 24/Aug/10 4:17 AM ]

hlship said: I'm redoing the patch, unstaging the whitespace differences inside build.xml. I'll have it ready in a few minutes.

Comment by Assembla Importer [ 24/Aug/10 4:17 AM ]

hlship said: The XML editor I was using put a space before /> in empty tags, thus the changes. Ugh.

Comment by Assembla Importer [ 24/Aug/10 4:17 AM ]

hlship said: [file:dAQ4d0QIKr3O-6eJe5afGb]: Revised patch, part 1/2

Comment by Assembla Importer [ 24/Aug/10 4:17 AM ]

hlship said: [file:dAVwG8QIKr3O-6eJe5afGb]: Revised patch, part 2/2

Comment by Assembla Importer [ 24/Aug/10 4:17 AM ]

hlship said: Just added two new patch files that were created against the latest pull from GitHub master, and do not have the erroneous lines (an XML formatting issue). Should be much more straight forward to apply. Sorry for the trouble.

Comment by Assembla Importer [ 24/Aug/10 4:17 AM ]

stu said: looking at this now...

Comment by Assembla Importer [ 24/Aug/10 4:17 AM ]

stu said: (In revision:04a22729691863a5b7e7b1b3c6c1157a02aff3b2) compile str-utils2 and other build fixes, refs #22

Branch: master

Comment by Assembla Importer [ 24/Aug/10 4:17 AM ]

stu said: pushed to master (04a22729691863a5b7e7b1b3c6c1157a02aff3b2). Let me know if you see any issues.





[CONTRIB-21] Private logging macros aren't private Created: 19/Aug/09  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Alexander Taggart
Resolution: Completed Votes: 0
Labels: None


 Description   

E.g.,

(defmacro commons-logging
  "...."
  #^{:private true}</code></pre>

should be
<pre><code>(defmacro commons-logging
  "...."
  {:private true}


 Comments   
Comment by Assembla Importer [ 24/Aug/10 4:15 AM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/21
Attachments:
logging-21.diff - https://www.assembla.com/spaces/clojure/documents/aL9cSKJver3RM6eJe5aVNr/download/aL9cSKJver3RM6eJe5aVNr

Comment by Assembla Importer [ 24/Aug/10 4:15 AM ]

ataggart said: [file:aL9cSKJver3RM6eJe5aVNr]: Fix making impl macros private

Comment by Assembla Importer [ 24/Aug/10 4:15 AM ]

ataggart said: (In revision:cd69d778f5a08810d4b934dbfc08f400ed34146a) Fixed attr-maps on private macros.
Signed-off-by: Tom Faulhaber <git_net@infolace.com>
See #21

Branch: master





[CONTRIB-31] Contribs profiler can run into an Exception Created: 10/Sep/09  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Stuart Halloway
Resolution: Completed Votes: 0
Labels: None


 Description   

The profile function from clojure.contrib.profile can run into
an Exception when it's argument is a lazy sequence.
Reproduce this problem:

(use 'clojure.contrib.profile)

(defn foo [x] (prof :foo (+ x 10)))

(profile (map foo (range 5))) ==>
java.lang.IllegalArgumentException: Wrong number of args passed to: core$max

(profile (pmap foo (range 5))) ==>
java.lang.IllegalArgumentException: Wrong number of args passed to: core$max

(profile (doseq [i (range 5)] (foo i))) ==> Works fine


 Comments   
Comment by Assembla Importer [ 24/Aug/10 3:28 PM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/31

Comment by Assembla Importer [ 24/Aug/10 3:28 PM ]

stuart.sierra said: Updating tickets (#1, #2, #3, #4, #6, #20, #23, #25, #30, #31, #33, #34, #35, #37, #38, #52, #55, #58, #59, #60, #61, #62, #63, #64)

Comment by Assembla Importer [ 24/Aug/10 3:28 PM ]

stu said: The problem isn't lazy sequences, but the absence of any data to report on. Commit 6dd033d9e12337f6630faa3d3f5c2e901a28c4f4 prevents the exception, and causes the printed report to be empty in the case there is nothing to report.

On the calling side, the examples shown above aren't profiling anything, because the lazy calls are never evaluated. You should use some kind of "do" form instead.





[CONTRIB-27] str-utils2: add type hints for returned values Created: 28/Aug/09  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Stuart Sierra
Resolution: Completed Votes: 0
Labels: None


 Description   

clojure.contrib.str-utils2 is has type hints for function arguments, but not for the functions themselves, so return values are not type-hinted.



 Comments   
Comment by Assembla Importer [ 24/Aug/10 7:20 AM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/27

Comment by Assembla Importer [ 24/Aug/10 7:20 AM ]

stuart.sierra said: (In revision:4b4f6ab5bcab58c4219eb50395bd366daea3ecc3) str_utils2.clj: added type hints for String return values; fixes #27

Branch: master





[CONTRIB-36] clojure.contrib.test-is use-fixtures function composes fixture functions repeatedly (Backport clojure #194) Created: 14/Oct/09  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Stuart Sierra
Resolution: Completed Votes: 0
Labels: None


 Description   

For the clojure-1.0-compatibility branch, copy the fix from http://www.assembla.com/spaces/clojure/tickets/194-clojure-test-use-fixtures-function-composes-fixture-functions-repeatedly

If you call use-fixtures over and over again, it will simply compose the test deeper and deeper into a nesting of the fixture function.
(use-fixtures :each my-cleanup) (deftest my-messy-test [���])

Load that a few times and you end up running the equivalent of:
(my-cleanup (my-cleanup (my-cleanup my-messy-test))).



 Comments   
Comment by Assembla Importer [ 24/Aug/10 11:49 AM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/36
Attachments:
test-fixtures-36.patch - https://www.assembla.com/spaces/clojure/documents/ajZUI6Ur0r3PnzeJe5aVNr/download/ajZUI6Ur0r3PnzeJe5aVNr

Comment by Assembla Importer [ 24/Aug/10 11:49 AM ]

mikehinchey said: [file:ajZUI6Ur0r3PnzeJe5aVNr]: patch copy of clojure 194





[CONTRIB-33] Add delete-file and delete-file-recursively functions to java-utils Created: 08/Oct/09  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Phil Hagelberg
Resolution: Completed Votes: 0
Labels: None


 Description   

Another one of those bizarre omissions from the JDK. Discussed this with Chouser on IRC, and he thinks it's a good idea.

I've added it to java-utils, though there are enough file-specific functions now that I think a new file-utils namespace could be spun off.



 Comments   
Comment by Assembla Importer [ 24/Aug/10 4:46 AM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/33
Attachments:
0002-Added-test-for-delete-file.patch - https://www.assembla.com/spaces/clojure/documents/cjQBUaTi0r3R7MeJe5afGb/download/cjQBUaTi0r3R7MeJe5afGb
0001-Add-delete-file-and-delete-file-recursively-function.patch - https://www.assembla.com/spaces/clojure/documents/cjQy7qTi0r3R7MeJe5afGb/download/cjQy7qTi0r3R7MeJe5afGb
0003-Added-a-test-for-delete-file-recursively.patch - https://www.assembla.com/spaces/clojure/documents/cjQEqGTi0r3R7MeJe5afGb/download/cjQEqGTi0r3R7MeJe5afGb

Comment by Assembla Importer [ 24/Aug/10 4:46 AM ]

technomancy said: [file:cjQy7qTi0r3R7MeJe5afGb]: Implementation

Comment by Assembla Importer [ 24/Aug/10 4:46 AM ]

technomancy said: [file:cjQBUaTi0r3R7MeJe5afGb]: First test

Comment by Assembla Importer [ 24/Aug/10 4:46 AM ]

technomancy said: [file:cjQEqGTi0r3R7MeJe5afGb]: Second test

Comment by Assembla Importer [ 24/Aug/10 4:46 AM ]

chouser@n01se.net said: Did you try test-delete-file-recursively on Windows? Looks like it might have issues there. I'll apply the 0001 and 0002 patches, but please take a look at 0003 to see if there's a way to be sure it won't cause false negatives.

Comment by Assembla Importer [ 24/Aug/10 4:46 AM ]

technomancy said: (In revision:8eef617aac7b077421d4aa9c84a2df189af6ee17) java-utils: Add delete-file and delete-file-recursively functions

Also added test for delete-file. Refs #33

Signed-off-by: Chouser <chouser@n01se.net>

Branch: master

Comment by Assembla Importer [ 24/Aug/10 4:46 AM ]

stuart.sierra said: Updating tickets (#1, #2, #3, #4, #6, #20, #23, #25, #30, #31, #33, #34, #35, #37, #38, #52, #55, #58, #59, #60, #61, #62, #63, #64)

Comment by Assembla Importer [ 24/Aug/10 4:46 AM ]

stu said: Updating tickets (#2, #3, #33, #38, #51, #52, #65, #67, #70)





[CONTRIB-26] Compatibility from clojure.contrib.test-is to clojure.test Created: 23/Aug/09  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Stuart Sierra
Resolution: Completed Votes: 0
Labels: None


 Description   

It would be nice if there was a compatibility layer for older code compiled against 1.0's clojure.contrib.test-is to work with 1.1's clojure.test. In other words, have a clojure.contrib .test-is namespace that re-exports the corresponding code from the new clojure.test. Handling the change in the (are) macro's semantics will be a challenge, however.



 Comments   
Comment by Assembla Importer [ 24/Aug/10 4:17 AM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/26

Comment by Assembla Importer [ 24/Aug/10 4:17 AM ]

stuart.sierra said: (In revision:cdbfc8de5723bc352ee4fb54bd3eeb4502835362) test_is.clj: compatibility bridge to the new clojure.test; refs #26

Includes support for the old syntax of the "are" macro.

Branch: master





[CONTRIB-39] tracing enhancement: dotrace Created: 23/Oct/09  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Stuart Sierra
Resolution: Completed Votes: 0
Labels: None


 Description   

As discussed a few months ago on Google Groups:

dotrace lets one easily trace calls to the named functions, by rebinding them so that calls to these functions within the dotrace body invoke the trace-enabled functions instead of the originals.



 Comments   
Comment by Assembla Importer [ 24/Aug/10 11:55 AM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/39
Attachments:
dotrace.patch - https://www.assembla.com/spaces/clojure/documents/bTctXwV8ar3PNheJe5afGb/download/bTctXwV8ar3PNheJe5afGb

Comment by Assembla Importer [ 24/Aug/10 11:55 AM ]

hircus said: [file:bTctXwV8ar3PNheJe5afGb]: dotrace implementation

Comment by Assembla Importer [ 24/Aug/10 11:55 AM ]

stuart.sierra said: (In revision:6dff158bdec5f06c33877c6c6550699d5e08ca71) trace.clj: add dotrace; fixes #39

Patch from Michel Salim

Branch: master





[CONTRIB-29] Backport clojure.contrib.logging to clojure-1.0-compat branch Created: 03/Sep/09  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Unassigned
Resolution: Completed Votes: 0
Labels: None


 Description   

This simply backports the clojure.contrib.logging namespace to the 1.0-compatible branch.

The only change from master was to revert back to the old style of import calls.



 Comments   
Comment by Assembla Importer [ 24/Aug/10 7:24 AM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/29
Attachments:
0001-Backport-logging.clj-to-1.0-compatible-branch.patch - https://www.assembla.com/spaces/clojure/documents/dIpoK8Mm4r3Rt6eJe5aVNr/download/dIpoK8Mm4r3Rt6eJe5aVNr
0001-Backport-logging-to-1.0-compatible-branch.patch - https://www.assembla.com/spaces/clojure/documents/dd6JqgTpur3RF9eJe5afGb/download/dd6JqgTpur3RF9eJe5afGb

Comment by Assembla Importer [ 24/Aug/10 7:24 AM ]

technomancy said: [file:dIpoK8Mm4r3Rt6eJe5aVNr]: logging backport patch

Comment by Assembla Importer [ 24/Aug/10 7:24 AM ]

ataggart said: Out of curiosity, why was such an old version of c.c.logging used? I've added a number of performance improvements since then:
http://github.com/richhickey/clojure-contrib/blob/master/src/clojure/contrib/logging.clj

Comment by Assembla Importer [ 24/Aug/10 7:24 AM ]

technomancy said: Alex: just because I did the backport a few weeks ago and procrastinated on submitting it. =)

I'll create a new patch for the latest logging.clj.

Comment by Assembla Importer [ 24/Aug/10 7:24 AM ]

technomancy said: [file:dd6JqgTpur3RF9eJe5afGb]: Updated patch

Comment by Assembla Importer [ 24/Aug/10 7:24 AM ]

tomfaulhaber said: Applied patch (commit bd3c20). Seems to work.





[CONTRIB-30] append-spit should only write out an encoding marker once Created: 10/Sep/09  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Stuart Halloway
Resolution: Declined Votes: 0
Labels: None


 Description   

In clojure.contrib.duck-streams append-spit writes out encoding
markers (for UnicodeLittle for example this is a FEFF in hex)
each time it appends to a file. This should happen only when
the file is initially created.

Test case for reproducing this behaviour:

(use 'clojure.contrib.duck-streams)

(binding [*default-encoding* "UnicodeLittle"]
  (append-spit "/foo.txt" "Line 1\n"))
(binding [*default-encoding* "UnicodeLittle"]
  (append-spit "/foo.txt" "Line 2\n"))

(slurp "c:/foo.txt" "UnicodeLittle")

The slurp outputs
"Line 1\n?Line 2\n"
The expected output is:
"Line 1\nLine 2\n"



 Comments   
Comment by Assembla Importer [ 24/Aug/10 2:28 PM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/30

Comment by Assembla Importer [ 24/Aug/10 2:28 PM ]

stuart.sierra said: Updating tickets (#1, #2, #3, #4, #6, #20, #23, #25, #30, #31, #33, #34, #35, #37, #38, #52, #55, #58, #59, #60, #61, #62, #63, #64)

Comment by Assembla Importer [ 24/Aug/10 2:28 PM ]

stu said: I am not sure there is a good answer here. The code above chooses an encoding with an explicit marker, and gets what it asks for.

One proposed solution (http://github.com/sergey-miryanov/clojure-contrib/commits/bug-30) tries to detect this scenario, and recover via a hard-coded mapping between encodings-with-markers and similar-encodings-without. But I don't think this can work in general, because the set of possible encodings is open and the Charset API doesn't provide a mapping between the with-markers and without-markers versions.

Sorry, and please feel free to reopen this if I am missing an obvious approach.





[CONTRIB-37] Include math/lcm for more than 2 args Created: 17/Oct/09  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Unassigned
Resolution: Declined Votes: 0
Labels: None


 Description   

Please pull changes from neotyk/clojure-contrib.
This is very small improvement of math/lcm just to accept more than two arguments.



 Comments   
Comment by Assembla Importer [ 24/Aug/10 4:51 AM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/37

Comment by Assembla Importer [ 24/Aug/10 4:51 AM ]

stuart.sierra said: Updating tickets (#1, #2, #3, #4, #6, #20, #23, #25, #30, #31, #33, #34, #35, #37, #38, #52, #55, #58, #59, #60, #61, #62, #63, #64)

Comment by Assembla Importer [ 24/Aug/10 4:51 AM ]

stu said: Hi Hubert,

Have you signed the Contributor Agreement? If so, please let me know and resubmit this patch.

Stu





[CONTRIB-38] repl_utils addition: apropos Created: 23/Oct/09  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Stuart Halloway
Resolution: Completed Votes: 0
Labels: None


 Description   

An implementation of apropos, as found in some Scheme implementations: given a symbol or a string s, return all definitions in currently-loaded namespaces that contains s as part of their names.



 Comments   
Comment by Assembla Importer [ 24/Aug/10 11:55 AM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/38
Attachments:
repl_utils_apropos.diff - https://www.assembla.com/spaces/clojure/documents/agSq5KV7mr3OndeJe5afGb/download/agSq5KV7mr3OndeJe5afGb

Comment by Assembla Importer [ 24/Aug/10 11:55 AM ]

hircus said: [file:agSq5KV7mr3OndeJe5afGb]: adds apropos function

Comment by Assembla Importer [ 24/Aug/10 11:55 AM ]

stuart.sierra said: Updating tickets (#1, #2, #3, #4, #6, #20, #23, #25, #30, #31, #33, #34, #35, #37, #38, #52, #55, #58, #59, #60, #61, #62, #63, #64)

Comment by Assembla Importer [ 24/Aug/10 11:55 AM ]

stu said: Michel,

I modified the apropos function to also work with regular expressions. If that is a problem please create another ticket or email me directly.

Sorry this took so long to get in.

Stu

Comment by Assembla Importer [ 24/Aug/10 11:55 AM ]

stu said: Updating tickets (#2, #3, #33, #38, #51, #52, #65, #67, #70)





[CONTRIB-41] PersistentFnMap doesn't handle both valAt arities Created: 31/Oct/09  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Stuart Sierra
Resolution: Completed Votes: 0
Labels: None


 Description   

clojure.contrib.fnmap.PersistentFnMap implements Associative (and thus ILookup) but doesn't supply a definition for both arities of valAt - needs to add

-valAt ([this key] ...) ([this key not-found] ...)



 Comments   
Comment by Assembla Importer [ 24/Aug/10 8:00 AM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/41

Comment by Assembla Importer [ 24/Aug/10 8:00 AM ]

stuart.sierra said: (In revision:962d8be44aa71ee13aa12a21f277f62b3c301021) PersistentFnMap.clj: add default value arity for -valAt; fixes #41

Branch: master





[CONTRIB-44] AOT compilation of clojure-contrib.jar pre-sets logging implementation Created: 08/Nov/09  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Alexander Taggart
Resolution: Completed Votes: 0
Labels: None


 Description   

Using ant to build clojure-contrib.jar causes clojure.contrib.logging to be AOT-compiled.

This means that the classpath at contrib build time affects which logging implementation is used, not the classpath in use when the code using c.c.l is compiled.

Using a standard pre-built clojure-contrib.jar one can never use anything but java.util.logging! That's bad for anyone who uses released snapshots, or who uses different log implementations on different projects, but doesn't want to maintain different builds of clojure-contrib.jar.

Furthermore, someone building clojure-contrib.jar with, say, log4j in their classpath will produce a jar in which c.c.l will fail when log4j is unavailable:

user=> (use 'clojure.contrib.logging)
    java.lang.NoClassDefFoundError: org/apache/log4j/Level (NO_SOURCE_FILE:0)

c.c.l should be adjusted so that the logging implementation is not discovered until runtime, or otherwise be removed from the AOT-compiled set.



 Comments   
Comment by Assembla Importer [ 24/Aug/10 12:06 AM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/44
Attachments:
0001-Delayed-detection-of-logging-implementation.-See-44.patch - https://www.assembla.com/spaces/clojure/documents/deght-7A8r3P1ZeJe5aVNr/download/deght-7A8r3P1ZeJe5aVNr
logging-aotc-compatible.patch - https://www.assembla.com/spaces/clojure/documents/asSL5Ea1qr34B3eJe5aVNr/download/asSL5Ea1qr34B3eJe5aVNr
actual-aotc-fix.patch - https://www.assembla.com/spaces/clojure/documents/b3wOBUbi0r37IeeJe5aVNr/download/b3wOBUbi0r37IeeJe5aVNr

Comment by Assembla Importer [ 24/Aug/10 12:06 AM ]

rnewman said: This simple diff fixes things, albeit at the cost of runtime work.

diff --git a/build.xml b/build.xml
index e72d36e..fa1161c 100644
--- a/build.xml
+++ b/build.xml
@@ -118,6 +118,7 @@
         <exclude name="**/repl_utils/javadoc.clj"/>
         <exclude name="clojure/contrib/load_all.clj"/>
         <exclude name="**/tests.clj"/>
+        <exclude name="**/logging.clj"/>
       </fileset>
       <chainedmapper>
         <packagemapper from="${src}/*.clj" to="*" />
Comment by Assembla Importer [ 24/Aug/10 12:06 AM ]

cemerick said: That's not really a solution, especially for those of us who can't (or don't want to) ship .clj files.

Would folks be amenable to having each logging system setup fn return a map of implementation fns, which can sit in a top-level delay? This would push selection of a logging system out of compile-time, regardless of AOT. Adds the cost of a deref to each logging call, but I can certainly live with that.

Comment by Assembla Importer [ 24/Aug/10 12:06 AM ]

rnewman said: Yes, I don't consider it a solution, but it at least allows me and other people to use something other than j.u.l until Alex rewrites this library.

Sure would be nice to have eval-when���

Comment by Assembla Importer [ 24/Aug/10 12:06 AM ]

cemerick said: I don't think what I suggested this morning would require much. If Alex et al. are amenable to it, I'd be happy to produce a patch when I have some spare moments.

Comment by Assembla Importer [ 24/Aug/10 12:06 AM ]

mattrevelle said: I'm going to go ahead and write up a patch for Chas' proposition. Alex, if you already have something in mind then feel free to kick me off the ticket.

Comment by Assembla Importer [ 24/Aug/10 12:06 AM ]

mattrevelle said: [file:deght-7A8r3P1ZeJe5aVNr]

Comment by Assembla Importer [ 24/Aug/10 12:06 AM ]

mattrevelle said: Patch attached above. Feedback very welcome.

Comment by Assembla Importer [ 24/Aug/10 12:06 AM ]

ataggart said: I didn't notice this ticket until today; guess the initial assignment got lost in all the email noise.

I'll take a look at what's been done so far.

Comment by Assembla Importer [ 24/Aug/10 12:06 AM ]

ataggart said: I must say, I'm a bit put off by the notion that we should have to discard perfectly useful aspects of Clojure to suit some peoples reaction to whether a JAR contains some .clj files vs. exclusively .class files. AOT should be an option for code, not a mandate that infects all code in contrib.

That said, I'm still going to go over the proposed changes.

Comment by Assembla Importer [ 24/Aug/10 12:06 AM ]

technomancy said: I recommend turning off AOT until Alex gets a chance to go over this patch in more detail.

Comment by Assembla Importer [ 24/Aug/10 12:06 AM ]

scgilardi said: if nobody objects, I plan to make Phil's suggested minimal workaround patch "change build.xml to turn off aot for this one file" today.

Comment by Assembla Importer [ 24/Aug/10 12:06 AM ]

mattrevelle said: Sounds good.

Comment by Assembla Importer [ 24/Aug/10 12:06 AM ]

scgilardi said: Checked in to the master branch: change to build.xml so it doesn't compile logging.clj. (suggested by Richard Newman, Phil Hagelberg).

Do we need this interim change on the 1.1.x branch? Re: 1.1.x, Stuart mentioned "assume all library code is frozen on these branches". I don't plan to push this change to the 1.1.x branch without more discussion.

Comment by Assembla Importer [ 24/Aug/10 12:06 AM ]

rnewman said: The problem is actually worse for people who use a pre-packaged
release: c.c.logging will use the logging implementation available on
the machine on which the release was built. I'm in favor of pushing
the fix wherever it can go.

Comment by Assembla Importer [ 24/Aug/10 12:06 AM ]

stuart.sierra said: Added to 1.1.x branch, included in 1.1.0-RC2

Comment by Assembla Importer [ 24/Aug/10 12:06 AM ]

stuart.sierra said: That is, the temporary fix (not compiling logging.clj) is in 1.1.x and 1.1.0-RC2

Comment by Assembla Importer [ 24/Aug/10 12:06 AM ]

timothypratley said: The issue remains in clojure-contrib-1.1.0-master-20100111.160148-18.jar (do RC live elsewhere than http://build.clojure.org/snapshots ?)

Might it be possible to have the best of both worlds by having a dynamic binding of the macros? By this I mean the log macros can be rebound when the lib is used, so macro expansions after loading the lib will use the current environment. This would preclude AOT libs from using logging though, as the macro would be different in the lib compile environment and the user compile environment.

It seems the most robust solution would be to allow the choice of either fully dynamic log binding (might be useful for libs), or macro expanded logging... which would require two namespaces: clojure.contrib.logging and clojure.contrib.logging-dynamic or something like that.

Comment by Assembla Importer [ 24/Aug/10 12:06 AM ]

ataggart said: [file:asSL5Ea1qr34B3eJe5aVNr]: patch to handle aotc issues

Comment by Assembla Importer [ 24/Aug/10 12:06 AM ]

ataggart said: I've taken Matt's idea regarding delays and made a less invasive change.

The patch also contains some switches that can be set during compilation to obviate certain performance penalties introduced in order to handle AOTC.

See the note at the bottom of the ns docs for more info.

Comment by Assembla Importer [ 24/Aug/10 12:06 AM ]

ataggart said: Ok, I clearly was working on this too late in the evening. There are some kinks to work out. Setting back to new until I have them ironed out.

Comment by Assembla Importer [ 24/Aug/10 12:06 AM ]

ataggart said: [file:b3wOBUbi0r37IeeJe5aVNr]: Final (I hope) patch attempt

Comment by Assembla Importer [ 24/Aug/10 12:06 AM ]

ataggart said: Wow, I'm an idiot.

The solution was simply to make the implementation-specific-def'ing macros (e.g., log4j-logging) into functions that call eval at runtime.

Sigh.

Comment by Assembla Importer [ 24/Aug/10 12:06 AM ]

ataggart said: Not sure what "Next Release" means, but the latest patch (on Jan 18 15:59) can be pushed to master at anytime.

Comment by Assembla Importer [ 24/Aug/10 12:06 AM ]

stuart.sierra said: Applied in commit 655060b3f265026ef3b45b44f5ab22d8897b3034





[CONTRIB-42] Pom specifies dependency on clojure 1.0-SNAPSHOT Created: 04/Nov/09  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Unassigned
Resolution: Declined Votes: 0
Labels: None


 Description   

It seems like contrib's master should point to the same version as clojure's master. If not, it should at least depend on the final release of 1.0; there's no reason to use a snapshot.



 Comments   
Comment by Assembla Importer [ 24/Aug/10 9:02 PM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/42
Attachments:
0001-Update-pom-to-depend-on-latest-Clojure.patch - https://www.assembla.com/spaces/clojure/documents/ad63wgYkmr3Q_UeJe5afGb/download/ad63wgYkmr3Q_UeJe5afGb

Comment by Assembla Importer [ 24/Aug/10 9:02 PM ]

technomancy said: [file:ad63wgYkmr3Q_UeJe5afGb]

Comment by Assembla Importer [ 24/Aug/10 9:02 PM ]

technomancy said: Also: didn't we decide to change the artifactId from "clojure-lang" to just "clojure"?

Comment by Assembla Importer [ 24/Aug/10 9:02 PM ]

technomancy said: Somehow I was looking at an older revision of this file; it has been fixed. Sorry!





[CONTRIB-32] Unknown severity level causes NPE Created: 22/Sep/09  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Alexander Taggart
Resolution: Completed Votes: 0
Labels: None


 Description   
$ cat .clojure
/opt/clojure/clojure.jar:/opt/clojure-contrib/clojure-contrib.jar:lib/commons-logging-1.1.1.jar
$ clj
Clojure 1.1.0-alpha-SNAPSHOT
user=> (use 'clojure.contrib.logging)
nil
user=> (log :info "Hello, world.")   
Sep 21, 2009 3:44:03 PM clojure.contrib.logging$eval__92$impl_write_BANG___100 invoke
INFO: Hello, world.
nil
user=> (log :bar "Hello, world.") 
java.lang.NullPointerException (NO_SOURCE_FILE:0)

I hit this when using :severe as a log level, which should actually be :error.



 Comments   
Comment by Assembla Importer [ 24/Aug/10 2:35 PM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/32
Attachments:
logging.diff - https://www.assembla.com/spaces/clojure/documents/bCd_BmPWmr3OVpeJe5afGb/download/bCd_BmPWmr3OVpeJe5afGb
logging.diff - https://www.assembla.com/spaces/clojure/documents/aOuXXKPWqr3OVpeJe5afGb/download/aOuXXKPWqr3OVpeJe5afGb

Comment by Assembla Importer [ 24/Aug/10 2:35 PM ]

rnewman said: [file:bCd_BmPWmr3OVpeJe5afGb]: Patch.

Comment by Assembla Importer [ 24/Aug/10 2:35 PM ]

rnewman said: Added a patch. This does three things:

  • Examines the level in (log). If it's a keyword at compile-time, transform it now; otherwise, transform it later.
  • Transformation maps j.u.l terms to those used by c.c.l. This is handy, though the mapping (of course) does not round-trip perfectly.
  • Unrecognized terms cause an exception to be thrown.

The best test is

(require ['clojure.contrib.logging :as 'log])
(log/log ((fn []:severe)) "hi")   ; Test runtime level computation. 
(log/log :boo "ho")
(log/log :fine "ha")
(log/log :info "ha")
Comment by Assembla Importer [ 24/Aug/10 2:35 PM ]

rnewman said: [file:aOuXXKPWqr3OVpeJe5afGb]: Correct quoting.

Comment by Assembla Importer [ 24/Aug/10 2:35 PM ]

ataggart said: The only valid levels are the ones specified in the documentation, those levels in common use across multiple logging implementations. If one uses an invalid value one should not expect it to work.

The "correct" solution would be to provide a better exception in this error case.

Comment by Assembla Importer [ 24/Aug/10 2:35 PM ]

rnewman said: "If one uses an invalid value one should not expect it to work"

No, but one should expect something more useful than a NPE. The patch I attached throws an exception when an invalid value is used (indeed, at compile time if it's a constant keyword).

c.c.l already translates from one set of log levels to those in use by the underlying implementation (e.g., if you're using Java Logging it'll convert :debug to FINE). This patch ensures that you can use the other set of names, too, which seems perfectly reasonable, but I can understand if you disagree. In that case, simply change translate-log-level to something like

(defn translate-log-level [level]
(or (#{:trace :debug :info :warn :error :fatal} level)
(throw (new Exception (str "Unknown log level " (prn-str level))))))

and commit. I'm not particularly fussed either way, but the validation needs to be done.

Comment by Assembla Importer [ 24/Aug/10 2:35 PM ]

stuart.sierra said: Updating tickets (#28, #32, #45, #47, #51, #19)

Comment by Assembla Importer [ 24/Aug/10 2:35 PM ]

ataggart said: Handled at the protocol implementation level in new version of c.c.logging (since alternate implementations may choose to use non-standard levels).





[CONTRIB-46] make duck-streams work with java.net.Socket Created: 12/Nov/09  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Sean Devlin
Resolution: Completed Votes: 0
Labels: None


 Description   

Add another type for the key multimethods in duck-streams.



 Comments   
Comment by Assembla Importer [ 24/Aug/10 6:10 AM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/46
Attachments:
expand-duck-streams.diff - https://www.assembla.com/spaces/clojure/documents/aky6QM0a4r3QwreJe5aVNr/download/aky6QM0a4r3QwreJe5aVNr

Comment by Assembla Importer [ 24/Aug/10 6:10 AM ]

devlinsf said: [file:aky6QM0a4r3QwreJe5aVNr]: expand reader/writer to work w/ sockets.

Comment by Assembla Importer [ 24/Aug/10 6:10 AM ]

stuart.sierra said: (In revision:2ae8ff46d348522efe9f96cfd31f6e9b6018cfdc) duck_streams.clj: support Socket in reader & writer; fixes #46

Patch by Sean Devlin

Branch: master





[CONTRIB-51] Add let-kw to c.c.macros Created: 12/Dec/09  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Unassigned
Resolution: Completed Votes: 0
Labels: None


 Description   

As discussed in this thread on the main Clojure list, I'm submitting the let-kw keyword argument processing macro. Please see the attached patch (against the master branch). This is the version from this message, which uses symbols for binding, like the normal let form (rather than keywords). The attached patch has a few tests which also provide decent usage examples.



 Comments   
Comment by Assembla Importer [ 24/Aug/10 6:33 AM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/51
Attachments:
let-kw.patch - https://www.assembla.com/spaces/clojure/documents/a_GQWq51ur3PBzeJe5afGb/download/a_GQWq51ur3PBzeJe5afGb

Comment by Assembla Importer [ 24/Aug/10 6:33 AM ]

stuart.sierra said: Updating tickets (#28, #32, #45, #47, #51, #19)

Comment by Assembla Importer [ 24/Aug/10 6:33 AM ]

vetoshev said: Canceling this ticket; similar functionality is now in Clojure core: http://github.com/richhickey/clojure/commit/29389970bcd41998359681d9a4a20ee391a1e07c

Comment by Assembla Importer [ 24/Aug/10 6:33 AM ]

stu said: Updating tickets (#2, #3, #33, #38, #51, #52, #65, #67, #70)





[CONTRIB-53] AOT of logging.clj causes logging implementation to be decided at compile-time Created: 28/Dec/09  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Alexander Taggart
Resolution: Declined Votes: 0
Labels: None


 Description   

We shouldn't AOT logging.clj since this causes the log implementation to be determined at compile-time. This is almost always the wrong thing; it should be determined at load-time since it's determined by what classes are on the classpath at runtime.



 Comments   
Comment by Assembla Importer [ 24/Aug/10 8:42 AM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/53
Attachments:
0001-Don-t-AOT-logging.clj.patch - https://www.assembla.com/spaces/clojure/documents/aqNkDi9byr3Rn8eJe5aVNr/download/aqNkDi9byr3Rn8eJe5aVNr

Comment by Assembla Importer [ 24/Aug/10 8:42 AM ]

technomancy said: [file:aqNkDi9byr3Rn8eJe5aVNr]: A patch to build.xml

Comment by Assembla Importer [ 24/Aug/10 8:42 AM ]

rnewman said: Phil, did you see #44?

http://www.assembla.com/spaces/clojure-contrib/tickets/44-AOT-compilation-of-clojure-contrib-jar-pre-sets-logging-implementation

Comment by Assembla Importer [ 24/Aug/10 8:42 AM ]

technomancy said: Oops; dupe of #44.





[CONTRIB-43] add wall-hack-method and wall-hack-field to java_utils.clj Created: 07/Nov/09  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Kevin Downey
Resolution: Completed Votes: 0
Labels: None


 Description   

fns for access private or protected methods or fields



 Comments   
Comment by Assembla Importer [ 24/Aug/10 9:06 PM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/43
Attachments:
wall-hack.diff - https://www.assembla.com/spaces/clojure/documents/a2XedQY2ur3Q1LeJe5afGb/download/a2XedQY2ur3Q1LeJe5afGb

Comment by Assembla Importer [ 24/Aug/10 9:06 PM ]

hiredman said: [file:a2XedQY2ur3Q1LeJe5afGb]

Comment by Assembla Importer [ 24/Aug/10 9:06 PM ]

hiredman said: (In revision:cc4e2ec2bf558f059330ebc97a031d7806a1e364) add wall-hack-method and wall-hack-field. fixes #43

Signed-off-by: Chouser <chouser@n01se.net>

Branch: master





[CONTRIB-40] bugs in cl-format Created: 31/Oct/09  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Tom Faulhaber
Resolution: Completed Votes: 0
Labels: None


 Description   

As reported in the google group (http://groups.google.com/group/clojure/browse_thread/thread/ae3e636a44c95686):

Hello,

I've encountered a couple of issues with the cl-format function
included in contrib.pprint

(cl-format nil "~1,1$" -12.0) ;; => "12.0" the sign is lost

I think the problem is the following assignment in the dollar-float
function
add-sign (and (:at params) (not (neg? arg))) ;; wrong
(the sign is only printed when the colon modifier is present and only
for positive numbers)
that should read, if I understand correctly the logic,
add-sign (or (:at params) (neg? arg))

The second issue is not so straightforward to solve:

(cl-format true "1,1$%" 0.001) ;; => String index out of range: -1

I've tracked down the bug into the function round-str (the variable
round-pos will be negative and this case is not handled properly), but
I don't understand the code well enough to propose a fix.

Cheers,

Carlos



 Comments   
Comment by Assembla Importer [ 24/Aug/10 8:00 AM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/40

Comment by Assembla Importer [ 24/Aug/10 8:00 AM ]

tomfaulhaber said: (In revision:3f267049a38f205ac3c7d91173c63648f139e790) cl-format: ~$ wasn't handling negative numbers correctly
refs #40

Branch: master

Comment by Assembla Importer [ 24/Aug/10 8:00 AM ]

tomfaulhaber said: (In revision:6f9e9c276bf53b0fce2275abf29a25f9735a6409) cl-format: ~$ wasn't handling very small fractions (that round to 0) correctly.
refs #40

Branch: master

Comment by Assembla Importer [ 24/Aug/10 8:00 AM ]

tomfaulhaber said: Fixed with the two above changelists





[CONTRIB-52] Improve running tests from Ant Created: 24/Dec/09  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Unassigned
Resolution: Declined Votes: 0
Labels: None


 Description   

This builds on clojure ticket 193, commit 607389029cfec50f32b73c00a6f66d0a1dbcda23.
Change code used by build.xml to exit with error code so ant fails cleanly.
Fork in ant so exit can be used.



 Comments   
Comment by Assembla Importer [ 24/Aug/10 5:41 PM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/52
Attachments:
test-52.patch - https://www.assembla.com/spaces/clojure/documents/aqVdMo8fqr3QImeJe5afGb/download/aqVdMo8fqr3QImeJe5afGb
test-52-b.patch - https://www.assembla.com/spaces/clojure/documents/drZN2e8Ner3QImeJe5afGb/download/drZN2e8Ner3QImeJe5afGb

Comment by Assembla Importer [ 24/Aug/10 5:41 PM ]

mikehinchey said: [file:aqVdMo8fqr3QImeJe5afGb]: patch to improve testing from ant

Comment by Assembla Importer [ 24/Aug/10 5:41 PM ]

mikehinchey said: Build will fail cleanly if tests fail, by using exit.
Fork in ant so exit can be used.
Similar code will be submitted to clojure, but this does not depend on that patch.

Comment by Assembla Importer [ 24/Aug/10 5:41 PM ]

mikehinchey said: [file:drZN2e8Ner3QImeJe5afGb]: fixes #52, including datalog (replaces test-52.patch)

Comment by Assembla Importer [ 24/Aug/10 5:41 PM ]

stuart.sierra said: Updating tickets (#1, #2, #3, #4, #6, #20, #23, #25, #30, #31, #33, #34, #35, #37, #38, #52, #55, #58, #59, #60, #61, #62, #63, #64)

Comment by Assembla Importer [ 24/Aug/10 5:41 PM ]

oranenj said: This ticket doesn't appear relevant anymore, because Maven replaced Ant. Closing as invalid

Comment by Assembla Importer [ 24/Aug/10 5:41 PM ]

stu said: Updating tickets (#2, #3, #33, #38, #51, #52, #65, #67, #70)





[CONTRIB-49] update pom.xml for contrib to include build.clojure.org and ticket 208 change Created: 10/Dec/09  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Stephen C. Gilardi
Resolution: Completed Votes: 0
Labels: None


 Description   

The pom refers to 1.1.0-alpha, but clojure's master branch is now called 1.1.0-master. Also, the canonical maven repo for clojure is now build.clojure.org.



 Comments   
Comment by Assembla Importer [ 24/Aug/10 6:31 AM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/49

Comment by Assembla Importer [ 24/Aug/10 6:31 AM ]

chouser@n01se.net said: Fixed in commit e76ad0689697b03cf33da50304f62701d0bd4de8





[CONTRIB-56] Faster version of reductions Created: 02/Jan/10  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Timothy Pratley
Resolution: Completed Votes: 0
Labels: None


 Description   

Faster version of reductions for seq-utils



 Comments   
Comment by Assembla Importer [ 24/Aug/10 8:44 AM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/56
Attachments:
reductions.diff - https://www.assembla.com/spaces/clojure/documents/dCrXzw-bqr3PBmeJe5aVNr/download/dCrXzw-bqr3PBmeJe5aVNr

Comment by Assembla Importer [ 24/Aug/10 8:44 AM ]

timothypratley said: Passes the reductions tests.

Comment by Assembla Importer [ 24/Aug/10 8:44 AM ]

timothypratley said: [file:dCrXzw-bqr3PBmeJe5aVNr]: faster reductions

Comment by Assembla Importer [ 24/Aug/10 8:44 AM ]

meikelbrandmeyer said: Reductions was moved to core. See here: http://www.assembla.com/spaces/clojure/tickets/312-audit---promote-some-clojure-contrib-seq-fns

Sorry. I wasn't aware of this ticket and your patch.





[CONTRIB-57] remove walk tests as now part of core Created: 12/Jan/10  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Timothy Pratley
Resolution: Declined Votes: 0
Labels: None


 Description   

http://groups.google.com/group/clojure-dev/browse_thread/thread/51982e4091e3614d
Move tests over to core



 Comments   
Comment by Assembla Importer [ 24/Aug/10 7:52 AM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/57

Comment by Assembla Importer [ 24/Aug/10 7:52 AM ]

timothypratley said: SS has fixed it already





[CONTRIB-47] cl-format rounding bugs Created: 03/Dec/09  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Tom Faulhaber
Resolution: Completed Votes: 0
Labels: None


 Description   

Reported to me by Carlos Ungil (and confirmed by me):

Unfortunately there are still some issues with rounding. I've noticed that when the
mantissa is rounded up from 9 to 10 the exponent is not changed
accordingly. As a result, we get for example
clojure.contrib.pprint> (cl-format nil "~,0F" 9.4) => "9."
clojure.contrib.pprint> (cl-format nil "~,0F" 9.5) => "1.0"

I've compared the output from Clojure and Common Lisp for a handful of
cases. Below we see how "0.10" is returned instead of "1.0" when
printing 0.99 with a single digit after the decimal point. There is
also a minor problem with "01." being printed instead of "1.", but
returning a different representation for a number is of course not as
bad as returning a wrong representation.

;;(map #(cl-format nil % 0.99) ["~,0F" "~,1F" "~,2F" "~,3F"])
("01." "0.10" "0.99" "0.990")
;;(loop for fmt in '(",0F" ",1F" ",2F" ",3F") collect (format nil
fmt 0.99))
("1." "1.0" "0.99" "0.990")

There are also issues with negative numbers, the add-sign variable has
the same bug in fixed-float that it had in dollar-float but fixing
that is not enough to correct the problem.

;; > (map #(cl-format nil % -0.99) ["~,0F" "~,1F" "~,2F" "~,3F"])
("010." "0-1.0" "0-0.99" "0-0.990")



 Comments   
Comment by Assembla Importer [ 24/Aug/10 1:25 PM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/47

Comment by Assembla Importer [ 24/Aug/10 1:25 PM ]

stuart.sierra said: Updating tickets (#28, #32, #45, #47, #51, #19)

Comment by Assembla Importer [ 24/Aug/10 1:25 PM ]

tomfaulhaber said: (In revision:912e5671cc8237addf55753ff524bf283830e684) clojure.contrib.pprint (cl-format): Fixes to rounding and width issues in ~f and ~$. See #47.

Branch: master

Comment by Assembla Importer [ 24/Aug/10 1:25 PM ]

tomfaulhaber said: (In revision:5a703b33391e9486548af9ae7d8c3601d6f44505) Remove debug prints . See #47

Branch: master





[CONTRIB-54] with-temp-ns should clean up after exceptional condition Created: 30/Dec/09  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Stuart Halloway
Resolution: Completed Votes: 0
Labels: None


 Description   

removing the temporary namespace needs to be in a finally block



 Comments   
Comment by Assembla Importer [ 24/Aug/10 8:43 AM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/54

Comment by Assembla Importer [ 24/Aug/10 8:43 AM ]

stu said: (In revision:f24f6412a1cee7015285856e5e4fc6ddc3974439) clean up temporary namespaces, fixes #54

Branch: master





[CONTRIB-50] Allow for externally-provided db connection to c.c.sql Created: 11/Dec/09  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Stephen C. Gilardi
Resolution: Completed Votes: 0
Labels: None


 Description   

This small patch allows an :external key in a db-spec map, to allow the use of existing database connection.

Among other benefits, this would make it trivial to use a Proxool db connection-pool with c.c.sql.

(Suggestions for alternative key-names are welcome. Maybe :instance or :connection-object would be more clear?)



 Comments   
Comment by Assembla Importer [ 24/Aug/10 1:32 PM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/50
Attachments:
c-c-sql-external-key.patch - https://www.assembla.com/spaces/clojure/documents/bsf2Y-5NCr3QaYeJe5afGb/download/bsf2Y-5NCr3QaYeJe5afGb
ticket-50-scg-1.diff - https://www.assembla.com/spaces/clojure/documents/d4S8n-6m8r3PaPeJe5aVNr/download/d4S8n-6m8r3PaPeJe5aVNr

Comment by Assembla Importer [ 24/Aug/10 1:32 PM ]

scgilardi said: Hi Graham,

I recall now why I didn't have this as an option already. with-connection retrieves an open connection based on the info in db-spec, allows body to use it, then closes it. If we have the connection object in the db-spec object itself, it will only be good for one use.

How about this as an alternative to your patch (in addition to the other methods that will remain): Allow the user to provide a function (:factory) whose argument is a map of the remaining keys and values in the db-spec object. To retrieve a new, open connection, with-connection would call the factory object supplying a map of its params.

I think this will provide enough of an escape hatch for any source of open database connections to be used while still preserving db-spec as an immutable object that specifies how to retrieve them.

Comment by Assembla Importer [ 24/Aug/10 1:32 PM ]

scgilardi said: [file:d4S8n-6m8r3PaPeJe5aVNr]

Comment by Assembla Importer [ 24/Aug/10 1:32 PM ]

gmfawcett said: Hi Steve,

I had considered the :factory approach as an option, and would be fine with it – certainly it's a better general solution.

In my specific case, though, auto-closing is a good thing: Proxool connections are proxy-objects, and closing one signals that the underlying connection can be returned to the connection pool.

I think you're proposing adding logic to (with-connection*), to not use (with-open) if the :factory key is used? If so, perhaps we could also add a optional :factory-close key, whose value is either

  • a cleanup function, e.g. {{{:factory-close (fn [conn] (.close conn))}}}
  • a boolean, e.g. {:factory-close true} implies that (with-connection*) should use (with-open) to close the factory-supplied connection?

I'm happy to provide an alternate patch once we sort out the details. (I know it's only a few minutes of typing; no offense will be taken if you code something yourself and ignore my patch.)

Comment by Assembla Importer [ 24/Aug/10 1:32 PM ]

gmfawcett said: Just to clarify my last comment: I understand your comment about not wanting a possibly-closed connection object as a value in the map. In my test code, the :external worked just fine – in spite of the "closed" object in the map, I could re-use it without any trouble. Proxool must be doing some magic to make this work. But this is bad form.

+1 for your :factory patch, and I'm still in favour of :factory-close if you would accept a patch for (with-connection*) as well.

Comment by Assembla Importer [ 24/Aug/10 1:32 PM ]

scgilardi said: I like the uniformity of using with-open on all the connections. I'd like to save :factory-close until we have a usecase where it's needed. Could you please test the :factory patch in your setup? If you find that it works well for you, I'd like to commit it. Thanks!

Comment by Assembla Importer [ 24/Aug/10 1:32 PM ]

gmfawcett said: I've tested your patch, and :factory works just fine for me.

I withdraw the :factory-close suggestion for now, since I don't need it. (I had suggested it based on a false assumption that you were patching with-connection* as well.)

Thank you!

Comment by Assembla Importer [ 24/Aug/10 1:32 PM ]

importer said: (In revision:be33acd87f190d9ec2ad756d8cb31c88abca7e5f) Add Factory as a method of obtaining open database connections, fixes #50

Branch: master





[CONTRIB-58] Add println-style args to log macros Created: 17/Jan/10  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Alexander Taggart
Resolution: Completed Votes: 0
Labels: None


 Description   

Per a post to the group from Phil Hagelberg:
http://groups.google.com/group/clojure/browse_thread/thread/d91e1911e3095157



 Comments   
Comment by Assembla Importer [ 24/Aug/10 8:55 AM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/58
Attachments:
easy-logging-args.patch - https://www.assembla.com/spaces/clojure/documents/buYy7Qa1Cr35jGeJe5afGb/download/buYy7Qa1Cr35jGeJe5afGb

Comment by Assembla Importer [ 24/Aug/10 8:55 AM ]

ataggart said: [file:buYy7Qa1Cr35jGeJe5afGb]: patch to add format-string-based and println-style log macros

Comment by Assembla Importer [ 24/Aug/10 8:55 AM ]

ataggart said: Done. Left extant macros unchanged since modifying them could have unexpected results for end-users.

New macros follow similar naming to the original ones, with println-style macros ending in 'p', and format-string ones ending in 'f'.

In an ideal world, the -p variants would be the default. Backwards-compatibility is a bitch.

Comment by Assembla Importer [ 24/Aug/10 8:55 AM ]

stuart.sierra said: Updating tickets (#1, #2, #3, #4, #6, #20, #23, #25, #30, #31, #33, #34, #35, #37, #38, #52, #55, #58, #59, #60, #61, #62, #63, #64)

Comment by Assembla Importer [ 24/Aug/10 8:55 AM ]

ataggart said: Incorporated the ideas here into the new c.c.logging code.





[CONTRIB-65] pprint depends on order of compilation Created: 31/Jan/10  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Stuart Sierra
Resolution: Completed Votes: 0
Labels: None


 Description   

pprint causes problems with the build process:

1. c.c.pprint.ColumnWriter
2. c.c.pprint.PrettyWriter
3. c.c.pprint

The first two are gen-class'd, and PrettyWriter extends the class
generated for ColumnWriter.

Unless they are compiled in exactly the order given above, the build
fails with a ClassNotFoundException.



 Comments   
Comment by Assembla Importer [ 24/Aug/10 3:08 PM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/65

Comment by Assembla Importer [ 24/Aug/10 3:08 PM ]

stuart.sierra said: (In revision:3275810556b075ff9a3a0abc0d08b3a19ee46bae) pprint: Move gen-class expressions to separate file; refs #65

To avoid order-of-compilation issues,
this patch puts the gen-class expressions
for ColumnWriter and PrettyWriter in a
separate file, rather than in the ns
declarations.

Branch: master

Comment by Assembla Importer [ 24/Aug/10 3:08 PM ]

stuart.sierra said: (In revision:aa34fb9e52fa500c99bb45448bdfcd4020db5392) Reenable compiling of test namespaces in POM; refs #65

But disable tests of pprint, which fail currently

Branch: master

Comment by Assembla Importer [ 24/Aug/10 3:08 PM ]

stuart.sierra said: I think I have fixed this by placing the gen-class directives in a separate file; only that file will be AOT-compiled.

Comment by Assembla Importer [ 24/Aug/10 3:08 PM ]

tomfaulhaber said: What a mess! This seems like a big problem with gen-class if we have to jump through this many hoops to make it work once we have more than one class in a hierarchy.

Of course it worked fine back in ant-land where we had control over the compilation order.

Comment by Assembla Importer [ 24/Aug/10 3:08 PM ]

stuart.sierra said: It's not that bad. The Ant build script was messier. This is more flexible, because it only AOT-compiles things that need it, i.e. gen-class.

Comment by Assembla Importer [ 24/Aug/10 3:08 PM ]

cemerick said: I mentioned this elsewhere, but perhaps there's a reason why this isn't workable in this case: I believe if you require clojure.contrib.pprint.ColumnWriter in PrettyWriter's ns declaration (perhaps before the :gen-class form?), then the compiler will visit and gen CW before attempting to gen-class PW.

This would eliminate the need to explicitly specify which namespaces to compile.

Comment by Assembla Importer [ 24/Aug/10 3:08 PM ]

stuart.sierra said: Tried it. Didn't work.

Comment by Assembla Importer [ 24/Aug/10 3:08 PM ]

stu said: Updating tickets (#2, #3, #33, #38, #51, #52, #65, #67, #70)





[CONTRIB-59] Bug in test_java_utils.clj Created: 21/Jan/10  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Unassigned
Resolution: Completed Votes: 0
Labels: None


 Description   

I got test error today (21 Jan 2009, GMT+5:30) on Clojure-contrib 1.1 (maven branch) while running "mvn assembly:assembly" on Windows XP 32-bit on JDK 1.6.0_18.

<snip>passing tests</snip>

FAIL in (test-relative-path-string) (run-test503247994263281606.clj:130)
absolute path strings are forbidden
expected: (thrown? IllegalArgumentException (relative-path-string "/baz"))
actual: nil

FAIL in (test-relative-path-string) (run-test503247994263281606.clj:130)
absolute File paths are forbidden
expected: (thrown? IllegalArgumentException (relative-path-string (File. "/quux")))
actual: nil

FAIL in (test-file) (run-test503247994263281606.clj:130)
no sneaking in absolute paths!
expected: (thrown? IllegalArgumentException (file "foo" "bar" "/boom" "baz" "quux"))
actual: nil

FAIL in (test-as-url) (run-test503247994263281606.clj:130)
expected: (= (URL. "file:/foo") (as-url (File. "/foo")))
actual: (not (= #<URL file:/foo> #<URL file:/C:/foo>))

<snip>passing tests</snip>

4 failures, 0 errors



 Comments   
Comment by Assembla Importer [ 24/Aug/10 7:59 AM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/59

Comment by Assembla Importer [ 24/Aug/10 7:59 AM ]

stuart.sierra said: Updating tickets (#1, #2, #3, #4, #6, #20, #23, #25, #30, #31, #33, #34, #35, #37, #38, #52, #55, #58, #59, #60, #61, #62, #63, #64)

Comment by Assembla Importer [ 24/Aug/10 7:59 AM ]

stuart.sierra said: This is probably caused by the way Windows handles paths. Needs a fix for portability.

Comment by Assembla Importer [ 24/Aug/10 7:59 AM ]

stu said: Using File/separator should work cross-platform. Added in commit ebf0d212dcc076ebee6984d276ff037ce1a7ecbe.





[CONTRIB-48] Replace instances of ^ reader macro with (meta ...) Created: 07/Dec/09  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Tom Faulhaber
Resolution: Completed Votes: 0
Labels: None


 Description   

Clojure 1.1 is deprecating the form ^x in favor of (meta x) in order to reclaim the ^ prefix.

We need to get clojure.contrib to respect this in order to avoid having deprecation warnings.



 Comments   
Comment by Assembla Importer [ 24/Aug/10 6:28 AM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/48
Attachments:
meta.diff - https://www.assembla.com/spaces/clojure/documents/dmYXqQ5Iyr3QaYeJe5afGb/download/dmYXqQ5Iyr3QaYeJe5afGb

Comment by Assembla Importer [ 24/Aug/10 6:28 AM ]

abscondment said: [file:dmYXqQ5Iyr3QaYeJe5afGb]: I believe this replaces all instances of the macro.

Comment by Assembla Importer [ 24/Aug/10 6:28 AM ]

tomfaulhaber said: (In revision:e5b7819ef66410a87b8072417dc2f09ac4ddb03f) Changed all instances of ^x across contrib to (meta x) since the ^x form is being deprecated in 1.1
refs #48

Branch: master

Comment by Assembla Importer [ 24/Aug/10 6:28 AM ]

tomfaulhaber said: Sorry, Brendan I didn't see your patch before I did almost exactly the same thing. I went ahead and pushed my stuff instead since I don't think that yours would have passed test_contrib (the pprint test you modified would have failed in your version, I just took it out in my version). Let me know if I missed anything.

Comment by Assembla Importer [ 24/Aug/10 6:28 AM ]

abscondment said: Oh, no worries! The tests passed when I ran them (unless I've gone totally crazy), but I don't think coverage is really worse off without that one.





[CONTRIB-66] fix pprint tests and reenable Created: 31/Jan/10  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Tom Faulhaber
Resolution: Completed Votes: 0
Labels: None


 Description   

Apparently (according to ticket 65), someone has broken the pprint tests, presumably during the switch to maven and all the hacking to get around gen-class/maven bugs.

Take a look at this and fix it.



 Comments   
Comment by Assembla Importer [ 24/Aug/10 10:08 PM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/66

Comment by Assembla Importer [ 24/Aug/10 10:08 PM ]

stuart.sierra said: It appears that the ColumnWriter/-init function is getting called with 3 arguments.

Comment by Assembla Importer [ 24/Aug/10 10:08 PM ]

stuart.sierra said: I don't think this was caused by changes in the build. Something has changed about how arguments get passed to init functions. The ColumnWriter init function is getting the same arguments as the PrettyWriter init function (a Writer, 72, and 40).

Comment by Assembla Importer [ 24/Aug/10 10:08 PM ]

stuart.sierra said: (In revision:5b3beaed9ef8520c8c1e09ff7ac5b817786f51e2) Fix mis-named ns in pprint.gen-class; refs #66

Branch: master

Comment by Assembla Importer [ 24/Aug/10 10:08 PM ]

stuart.sierra said: Never mind, it was a simple typo in the gen_class.clj file. Nothing to do with pprint or with the build process.

Tests re-enabled; all pass.





[CONTRIB-61] Add -?>> to clojure.contrib.core Created: 23/Jan/10  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Stuart Halloway
Resolution: Completed Votes: 0
Labels: None


 Description   

Obvious companion to -?>.



 Comments   
Comment by Assembla Importer [ 24/Aug/10 8:01 AM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/61
Attachments:
add-nilsafe-thread-last.diff - https://www.assembla.com/spaces/clojure/documents/dkG7yKcdqr36GOeJe5aVNr/download/dkG7yKcdqr36GOeJe5aVNr

Comment by Assembla Importer [ 24/Aug/10 8:01 AM ]

stuart.sierra said: Updating tickets (#1, #2, #3, #4, #6, #20, #23, #25, #30, #31, #33, #34, #35, #37, #38, #52, #55, #58, #59, #60, #61, #62, #63, #64)

Comment by Assembla Importer [ 24/Aug/10 8:01 AM ]

oranenj said: This ticket has a patch, so marking as 'test'

Comment by Assembla Importer [ 24/Aug/10 8:01 AM ]

stu said: Less useful than -?> since nil/empty falls out anyway but worth it for completeness and for where the nil/empty distinction matters.





[CONTRIB-68] clojure-contrib distclean maven target Created: 31/Jan/10  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Unassigned
Resolution: Declined Votes: 0
Labels: None


 Description   

It will be great if clojure-contrib can support distclean target for maven.



 Comments   
Comment by Assembla Importer [ 24/Aug/10 7:08 AM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/68

Comment by Assembla Importer [ 24/Aug/10 7:08 AM ]

stuart.sierra said: Maven doesn't have targets. "mvn clean" removes all generated files, so it is equivalent to distclean.





[CONTRIB-62] duck-streams should handle bytes as well as characters Created: 26/Jan/10  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Stuart Halloway
Resolution: Completed Votes: 0
Labels: None


 Description   

I'd like to see duck-streams learn to support byte-oriented I/O just as well as it currently supports character-oriented I/O.

I've written an implementation and made it available on my ducks-byte [1] branch of clojure-contrib for discussion and possible inclusion.

[1] http://github.com/bpsm/clojure-contrib/tree/ducks-byte

The branch itself breaks the change down into a sequence of (hopefully) logical steps, so I encourage those interested to have a look at it.

Features

  • input-stream is like reader, except for bytes.
  • output-stream is like writer, except for bytes.
  • reader and writer now build on input-stream and output-stream where appropriate.

Compatibility

I've renamed append-to-writer because it applies not just to writers, but also to output-streams. This might be a compatibility issue for clients that did not heed the advice given in documentation to use append-writer or append-spit instead of directly binding this var.



 Comments   
Comment by Assembla Importer [ 24/Aug/10 9:04 AM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/62
Attachments:
0001-c.c.io-provides-input-stream-and-output-stream-for-b.patch - https://www.assembla.com/spaces/clojure/documents/d_99D0cRWr34N6eJe5afGb/download/d_99D0cRWr34N6eJe5afGb
0001-c.c.io-provides-input-stream-and-output-stream-for-b.patch - https://www.assembla.com/spaces/clojure/documents/b8NlJSrXKr346PeJe5afGb/download/b8NlJSrXKr346PeJe5afGb

Comment by Assembla Importer [ 24/Aug/10 9:04 AM ]

bpsm said: [file:d_99D0cRWr34N6eJe5afGb]: compatible with mavenized master (e.g. 18c6d2102a)

Comment by Assembla Importer [ 24/Aug/10 9:04 AM ]

bpsm said: Teaching duck-streams to try to resolve a string that isn't a file or URL as a classpath resource more properly belongs in a separate ticket.

Comment by Assembla Importer [ 24/Aug/10 9:04 AM ]

stuart.sierra said: Updating tickets (#1, #2, #3, #4, #6, #20, #23, #25, #30, #31, #33, #34, #35, #37, #38, #52, #55, #58, #59, #60, #61, #62, #63, #64)

Comment by Assembla Importer [ 24/Aug/10 9:04 AM ]

bpsm said: [file:b8NlJSrXKr346PeJe5afGb]: rebased for clojure.contrib.io





[CONTRIB-69] maven downloads clojure jar file even if -Denv=local is specified Created: 01/Feb/10  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Unassigned
Resolution: Declined Votes: 0
Labels: None


 Description   

maven downloads the snapshot even if built with mvn -Denv=local and -Dclojure.jar=<absolute path to the locally built jar> package.



 Comments   
Comment by Assembla Importer [ 24/Aug/10 2:09 PM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/69

Comment by Assembla Importer [ 24/Aug/10 2:09 PM ]

stuart.sierra said: Latest sources use -Dclojure.jar as the trigger for a local build.

You can also add -o to the mvn command line to prevent downloading artifacts.

Please ask questions on the mailing list before creating tickets. Thanks,
-SS





[CONTRIB-60] Add strint (string interpolation) lib Created: 23/Jan/10  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Stuart Halloway
Resolution: Completed Votes: 0
Labels: None


 Description   

Previously discussed:



 Comments   
Comment by Assembla Importer [ 24/Aug/10 8:01 AM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/60
Attachments:
add-strint.diff - https://www.assembla.com/spaces/clojure/documents/c1uE4-cc4r35wteJe5afGb/download/c1uE4-cc4r35wteJe5afGb
add-strint2.diff - https://www.assembla.com/spaces/clojure/documents/aeyw6icJSr37PueJe5aVNr/download/aeyw6icJSr37PueJe5aVNr

Comment by Assembla Importer [ 24/Aug/10 8:01 AM ]

cemerick said: [file:aeyw6icJSr37PueJe5aVNr]: include bugfix

Comment by Assembla Importer [ 24/Aug/10 8:01 AM ]

stuart.sierra said: Updating tickets (#1, #2, #3, #4, #6, #20, #23, #25, #30, #31, #33, #34, #35, #37, #38, #52, #55, #58, #59, #60, #61, #62, #63, #64)





[CONTRIB-67] c.c.json.read: accept any java.io.Reader Created: 31/Jan/10  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Stuart Sierra
Resolution: Completed Votes: 0
Labels: None


 Description   

not just PushbackReader



 Comments   
Comment by Assembla Importer [ 24/Aug/10 2:08 PM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/67

Comment by Assembla Importer [ 24/Aug/10 2:08 PM ]

stuart.sierra said: (In revision:8d5f9fa4920fb6afb0e8b2859e5d4a4de2f7ef9f) c.c.json.read: accept any Reader type; fixes #67

Branch: master

Comment by Assembla Importer [ 24/Aug/10 2:08 PM ]

stu said: Updating tickets (#2, #3, #33, #38, #51, #52, #65, #67, #70)





[CONTRIB-76] (pr x & more) makes a self-call, which can lead to stack overflow Created: 17/Apr/10  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Unassigned
Resolution: Declined Votes: 0
Labels: None


 Description   

When 'pr', or any related functions are called with a sequence of arguments, they can cause stack overflow.

Eg:

(apply pr (range 5000))



 Comments   
Comment by Assembla Importer [ 24/Aug/10 4:33 PM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/76
Attachments:
0001-fixed-stack-consumpton-in-pr-more.patch - https://www.assembla.com/spaces/clojure/documents/cXM85ssJqr37KVeJe5d-aX/download/cXM85ssJqr37KVeJe5d-aX

Comment by Assembla Importer [ 24/Aug/10 4:33 PM ]

djpowell said: Oops - posted to contrib's assemba space rather than clojure's - will repost to clojure's space...





[CONTRIB-70] c.c.string: final migration (in c.c.repl-utils, c.c.command-line) Created: 03/Feb/10  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Stuart Sierra
Resolution: Completed Votes: 0
Labels: None


 Description   

Patch addresses remaining items to be converted to the new string lib:
��� "str-join" to "join" in c.c.command-line
��� "re-partition" to "partition" in c.c.repl-utils
��� correction to the example function call in c.c.string/partition's docs (reversed order of arguments)



 Comments   
Comment by Assembla Importer [ 24/Aug/10 7:11 AM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/70
Attachments:
c-c-string-fixes.patch - https://www.assembla.com/spaces/clojure/documents/djkmaEeoGr36OOeJe5afGb/download/djkmaEeoGr36OOeJe5afGb

Comment by Assembla Importer [ 24/Aug/10 7:11 AM ]

stuart.sierra said: Please reformat the patch according to http://clojure.org/patches

Comment by Assembla Importer [ 24/Aug/10 7:11 AM ]

trolard said: [file:djkmaEeoGr36OOeJe5afGb]: Patch for remaining itesm in c.c.string migration.

Comment by Assembla Importer [ 24/Aug/10 7:11 AM ]

trolard said: (In revision:af788ed71a5c92f32daa5bfc5673455bd8843faa) c.c.string migration changes; fixes #70

Signed-off-by: Stuart Sierra <mail@stuartsierra.com>

Branch: master

Comment by Assembla Importer [ 24/Aug/10 7:11 AM ]

stu said: Updating tickets (#2, #3, #33, #38, #51, #52, #65, #67, #70)





[CONTRIB-79] Forward-port deprecated 1.1 namespaces Created: 27/Apr/10  Updated: 17/Sep/10  Resolved: 17/Sep/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Stuart Sierra
Resolution: Completed Votes: 0
Labels: None


 Description   

Too many people are doing crazy stuff with conditional loading just to support both 1.1 and 1.2 simultaneously. This way lies madness.

To avoid this, lets forward-port all the 1.1 namespaces that were removed or renamed in master, e.g. duck-streams, seq-utils, str-utils, etc. Just copy the old files from the 1.1 branch, so that no behavior changes.

Add a printed deprecation warning at the top-level of each of the old namespaces, like
(println "The foo namespace is deprecated, please use bar instead.")

Post 1.2 release we can remove the deprecated namespaces.



 Comments   
Comment by Assembla Importer [ 17/Sep/10 12:51 AM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/79

Comment by Assembla Importer [ 17/Sep/10 12:51 AM ]

stuart.sierra said: (In revision:a1c66df5287776b4397cf3929a5f498fbb34ea32) Copy deleted/renamed namespaces from 1.1 release; refs #79

  • For backward compatibility with 1.1 release.
  • Namespaces copied: duck-streams, java-utils, seq-utils,
    shell-out, str-utils, str-utils2.
  • These namespaces can be marked as deprecated.
  • They are copied rather than simply aliased because
    some behavior has changed.

Branch: master

Comment by Assembla Importer [ 17/Sep/10 12:51 AM ]

cemerick said: FWIW, the various signature and fn name changes between 1.1 and 1.2 still need to be unraveled by any codebase that wants to target both, and choosing which impl to use is still easiest by eagerly loading whereever the new impls are in a try/catch. I'm not arguing against restoring the old namespaces (at the moment! , just pointing out that doing so doesn't impact 1.1/1.2 compat.





[CONTRIB-64] teach duck-streams to read clojure forms Created: 26/Jan/10  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Unassigned
Resolution: Declined Votes: 0
Labels: None


 Description   

I'd like an easy way to consume a text file written in Clojure syntax as pure data: as a sequence of Clojure data structures without evaluation. This allows Clojure to be used where property files, XML or JSON might otherwise be chosen.



 Comments   
Comment by Assembla Importer [ 24/Aug/10 9:04 AM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/64
Attachments:
0001-teach-duck-streams-to-read-clojure-forms.patch - https://www.assembla.com/spaces/clojure/documents/doGgPKcSqr34XKeJe5aVNr/download/doGgPKcSqr34XKeJe5aVNr

Comment by Assembla Importer [ 24/Aug/10 9:04 AM ]

stuart.sierra said: Updating tickets (#1, #2, #3, #4, #6, #20, #23, #25, #30, #31, #33, #34, #35, #37, #38, #52, #55, #58, #59, #60, #61, #62, #63, #64)

Comment by Assembla Importer [ 24/Aug/10 9:04 AM ]

technomancy said: You can do this by composing read-string and slurp*, is that good enough?

Comment by Assembla Importer [ 24/Aug/10 9:04 AM ]

bpsm said: Well, more-or-less. The intent of my patch was to allow a file containing multiple forms to be read lazily (i.e. one form at a time). The (read-string (slurp* x)) solution is eager.

That said, I'd like to withdraw the patch because I'm not really happy with the fact that the implementation fails to close the underlying file if the sequence is not consumed fully. (This is a more general problem with lazy sequences based on resources not managed by the GC.)





[CONTRIB-78] fix broken jmx tests on ibm jdk Created: 27/Apr/10  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Stuart Halloway
Resolution: Completed Votes: 0
Labels: None


 Comments   
Comment by Assembla Importer [ 24/Aug/10 9:45 AM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/78





[CONTRIB-63] duck-streams open as resource what isn't File or URL Created: 26/Jan/10  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Stuart Halloway
Resolution: Declined Votes: 0
Labels: None


 Description   

Currently: When duck-streams is given a string, it attempts to open it for reading as a URL and if that fails it tries the string as a path specifying a File. When the string doesn't specify a readable file either, we fail.

I'd like to see duck-streams try to resolve the string as a resource name before finally giving up.



 Comments   
Comment by Assembla Importer [ 24/Aug/10 3:04 PM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/63
Attachments:
0001-teach-duck-streams-classpath-on62.patch - https://www.assembla.com/spaces/clojure/documents/a8_B2gcSmr37PueJe5aVNr/download/a8_B2gcSmr37PueJe5aVNr
0001-teach-duck-streams-classpath.patch - https://www.assembla.com/spaces/clojure/documents/a8_zgOcSmr37PueJe5aVNr/download/a8_zgOcSmr37PueJe5aVNr

Comment by Assembla Importer [ 24/Aug/10 3:04 PM ]

stuart.sierra said: Updating tickets (#1, #2, #3, #4, #6, #20, #23, #25, #30, #31, #33, #34, #35, #37, #38, #52, #55, #58, #59, #60, #61, #62, #63, #64)

Comment by Assembla Importer [ 24/Aug/10 3:04 PM ]

stu said: I am going to reject this patch for now, because I don't like:

  1. the double-purposing of filelike names. If a "foo/bar" points to something on the classpath, and something different on the filesystem, which one should dominate?
  2. the asymmetry with writing: you can't write to things on the classpath, so writer and reader would become asymmetric.

Better IMO just to be explicit about hitting the classpath.

Comment by Assembla Importer [ 24/Aug/10 3:04 PM ]

bpsm said: Fair enough. The overloaded meaning of 'path-like-string' isn't pretty. As an alternative, perhaps you would consider including:

(defn #^URL resource
  "Return the URL of the named resource on the CLASSPATH.
nil indicates no such resource was found."
  [#^String name]
  (.getResource (clojure.lang.RT/baseLoader) name))
</code></pre>
This would allow formulations like:
<pre>{{(input-stream (resource "foo/bar.gif"))}}</pre>
or even:
<pre><code>(-?> "foo/bar.gif" resource input-stream)

Which is reasonably compact and makes the meaning of the string clear.





[CONTRIB-84] clojure.contrib.base64 lacking decode Created: 12/May/10  Updated: 17/Sep/10  Resolved: 17/Sep/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: anttipoi
Resolution: Completed Votes: 0
Labels: None


 Description   

Namespace clojure.contrib.base64 contains a Base64 encode function but is (so far) missing decode.

I know commons-codec contains a quality implementation of both functions, but adding yet another jar in your build just for base64 decode purposes is an unnecessary complication. For symmetry's sake, decode should be added.

I will add a patch soon.



 Comments   
Comment by Assembla Importer [ 17/Sep/10 6:16 PM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/84
Attachments:
base64-decode.patch - https://www.assembla.com/spaces/clojure/documents/c68LHyxEOr35_MeJe5cbCb/download/c68LHyxEOr35_MeJe5cbCb

Comment by Assembla Importer [ 17/Sep/10 6:16 PM ]

anttipoi said: [file:c68LHyxEOr35_MeJe5cbCb]: Patch adding decode + tests

Comment by Assembla Importer [ 17/Sep/10 6:16 PM ]

anttipoi said: BTW. Sorry about not raising the topic on the clojure-dev group first. I just lost my patience waiting to be let in.

Comment by Assembla Importer [ 17/Sep/10 6:16 PM ]

anttipoi said: Note: I've modified the patch to support multi-line encoded data.

Comment by Assembla Importer [ 17/Sep/10 6:16 PM ]

stuart.sierra said: (In revision:5263e4bd9ca8634b50755c5150ebef26e0d191f1) Base64 decoding from Teemu Antti-Poika; refs #84

Branch: master





[CONTRIB-81] Remove gen-class requirement from pprint Created: 28/Apr/10  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Tom Faulhaber
Resolution: Completed Votes: 0
Labels: None


 Description   

In preparation for moving pprint into clojure itself.



 Comments   
Comment by Assembla Importer [ 24/Aug/10 10:47 AM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/81

Comment by Assembla Importer [ 24/Aug/10 10:47 AM ]

tomfaulhaber said: (In revision:661dcfde7965c3e6650d169afca4a20ef146c940) Remove gen-class requirement from clojure.contrib.pprint. See #81

Branch: master





[CONTRIB-77] Refactor c.c.io/writer, reader, etc as a protocol; stop returning PrintWriters Created: 26/Apr/10  Updated: 18/Sep/10  Resolved: 18/Sep/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Chas Emerick
Resolution: Completed Votes: 0
Labels: None


 Description   

As discussed here:

http://groups.google.com/group/clojure-dev/browse_frm/thread/3e39e9b3982f542b



 Comments   
Comment by Assembla Importer [ 18/Sep/10 1:53 AM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/77
Attachments:
77-refactor-c.c.io.diff - https://www.assembla.com/spaces/clojure/documents/b9K9uwuu4r37NTeJe5d-aX/download/b9K9uwuu4r37NTeJe5d-aX
77-refactor-c.c.io2.diff - https://www.assembla.com/spaces/clojure/documents/cGY9s2vRir37QQeJe5cbCb/download/cGY9s2vRir37QQeJe5cbCb

Comment by Assembla Importer [ 18/Sep/10 1:53 AM ]

cemerick said: [file:b9K9uwuu4r37NTeJe5d-aX]

Comment by Assembla Importer [ 18/Sep/10 1:53 AM ]

cemerick said: Based on discussion on the clojure-dev list, I've eliminated the buffer-streams var and the associated usage. We can revisit buffering control strategies / APIs at some future point without any API incompatibilities.

Modified patch attached (#2).

Comment by Assembla Importer [ 18/Sep/10 1:53 AM ]

cemerick said: [file:cGY9s2vRir37QQeJe5cbCb]

Comment by Assembla Importer [ 18/Sep/10 1:53 AM ]

stuart.sierra said: This has been completed in the new Clojure namespace clojure.java.io





[CONTRIB-73] lazy-xml uses old-style reify syntax Created: 11/Apr/10  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Unassigned
Resolution: Declined Votes: 0
Labels: None


 Description   

lazy-xml was not updated when the reify syntax change hit Clojure master, and thus is broken. Assigning to next release milestone with a high priority, as this prevents lazy-xml from working at all.

Patch attached.



 Comments   
Comment by Assembla Importer [ 24/Aug/10 10:23 AM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/73
Attachments:
0001-lazy-xml-Fix-reify-uses-missing-this-arguments.patch - https://www.assembla.com/spaces/clojure/documents/dIdkISrv4r36_-eJe5aVNr/download/dIdkISrv4r36_-eJe5aVNr

Comment by Assembla Importer [ 24/Aug/10 10:23 AM ]

oranenj said: Oops, didn't notice Chouser was ahead of me. Closing as invalid.





[CONTRIB-89] Implements clojure.contrib.priority-map Created: 17/Jul/10  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: puzzler
Resolution: Completed Votes: 0
Labels: None


 Description   

Adds clojure.contrib.priority-map, a variety of sorted map that's useful for many priority queue situations.

http://groups.google.com/group/clojure-dev/browse_thread/thread/fdb000cae4f66a95



 Comments   
Comment by Assembla Importer [ 24/Aug/10 8:25 PM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/89
Attachments:
prioritymap.diff - https://www.assembla.com/spaces/clojure/documents/aD2s4mKDqr34-UeJe5cbLr/download/aD2s4mKDqr34-UeJe5cbLr

Comment by Assembla Importer [ 24/Aug/10 8:25 PM ]

puzzler said: http://github.com/clojure/clojure-contrib/commit/18c8713709e4cb095d10b154854f8d0b8fb50ad8

Comment by Assembla Importer [ 24/Aug/10 8:25 PM ]

puzzler said: I realized shortly after uploading the file that although I made the equality of priority maps behave like regular maps and sorted maps, I forgot to adjust the hashCode method accordingly.

Fixed that, and added a corresponding test case.

http://github.com/clojure/clojure-contrib/commit/08b2d37a962cc5baf2c37ad767067233eadfc6ca





[CONTRIB-93] remove deprecations on master Created: 24/Aug/10  Updated: 03/Sep/10  Resolved: 03/Sep/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: bpsm
Resolution: Completed Votes: 0
Labels: None


 Description   

I noticed the recent aborted attempt to remove the deprecated modules form clojure-contrib master. Since I was in need of some busy work, I decided to try and do it myself and clean up the breakage.

The attached patches don't remove everything that has been marked as deprecated, just the bits Stuart previously indicated by trying to remove them.

  • clojure.contrib.apply-macro
  • clojure.contrib.http-agent
  • clojure.contrib.http-connection
  • clojure.contrib.javadoc: which rewrote a :use in repl_utils.clj from c.c.javadoc.browse to c.java.browse.
  • clojure.contrib.properties: where private versions of as-str and as-properties were defined in c.c.sql internal.clj
  • clojure.contrib.test-is


 Comments   
Comment by Assembla Importer [ 03/Sep/10 8:52 PM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/93
Attachments:
0001-remove-derecated-clojure.contrib.apply-macro.patch - https://www.assembla.com/spaces/clojure/documents/dFW7nWR6ir34gmeJe5cbLA/download/dFW7nWR6ir34gmeJe5cbLA
0002-remove-deprecated-clojure.contrib.http-agent.patch - https://www.assembla.com/spaces/clojure/documents/dFW9QaR6ir34gmeJe5cbLA/download/dFW9QaR6ir34gmeJe5cbLA
0003-remove-deprecated-clojure.contrib.http-connection.patch - https://www.assembla.com/spaces/clojure/documents/dFXab4R6ir34gmeJe5cbLA/download/dFXab4R6ir34gmeJe5cbLA
0004-remove-deprecated-clojure.contrib.properties.patch - https://www.assembla.com/spaces/clojure/documents/dFXcqIR6ir34gmeJe5cbLA/download/dFXcqIR6ir34gmeJe5cbLA
0005-remove-deprecated-clojure.contrib.javadoc.patch - https://www.assembla.com/spaces/clojure/documents/dFXeH2R6ir34gmeJe5cbLA/download/dFXeH2R6ir34gmeJe5cbLA
0007-remove-deprecated-clojure.contrib.test-is.patch - https://www.assembla.com/spaces/clojure/documents/dFXg04R6ir34gmeJe5cbLA/download/dFXg04R6ir34gmeJe5cbLA
0008-removed-c.c.shell-and-c.c.shell-out.patch - https://www.assembla.com/spaces/clojure/documents/ahtcAoR60r34W9eJe5cbCb/download/ahtcAoR60r34W9eJe5cbCb
remove-deprecated-clojure.contrib.io.patch - https://www.assembla.com/spaces/clojure/documents/bR5RKOSu0r36XVeJe5cbLA/download/bR5RKOSu0r36XVeJe5cbLA
0010-create-clojure.contrib.io-convenience-module.patch - https://www.assembla.com/spaces/clojure/documents/dxyjsaSHar37S6eJe5cbCb/download/dxyjsaSHar37S6eJe5cbCb
0011-remove-deprecated-clojure.contrib.str-utils.patch - https://www.assembla.com/spaces/clojure/documents/dEtFMSSRir35x5eJe5cbCb/download/dEtFMSSRir35x5eJe5cbCb
0013-remove-deprecated-clojure.contrib.string.patch - https://www.assembla.com/spaces/clojure/documents/dSD8sqSRir35nTeJe5cbLr/download/dSD8sqSRir35nTeJe5cbLr
0012-remove-deprecated-clojure.contrib.str-utils2.patch - https://www.assembla.com/spaces/clojure/documents/dSzxyYSRir35nTeJe5cbLr/download/dSzxyYSRir35nTeJe5cbLr
0014-removed-deprecated-clojure.contrib.duck-streams.patch - https://www.assembla.com/spaces/clojure/documents/cJIVlaSTur34OJeJe5cbLr/download/cJIVlaSTur34OJeJe5cbLr
0015-removed-deprecated-clojure.contrib.java-utils.patch - https://www.assembla.com/spaces/clojure/documents/cJNkS8STur34OJeJe5cbLr/download/cJNkS8STur34OJeJe5cbLr
0016-removed-deprecated-clojure.contrib.pprint.patch - https://www.assembla.com/spaces/clojure/documents/cJQGkcSTur34OJeJe5cbLr/download/cJQGkcSTur34OJeJe5cbLr
0017-removed-deprecated-source-get-source-apropos-from-cl.patch - https://www.assembla.com/spaces/clojure/documents/cJ5Kd4STur34OJeJe5cbLr/download/cJ5Kd4STur34OJeJe5cbLr
0018-removed-deprecated-clojure.contrib.seq-utils.patch - https://www.assembla.com/spaces/clojure/documents/cJ8-lqSTur34OJeJe5cbLr/download/cJ8-lqSTur34OJeJe5cbLr
0020-removed-deprecated-subset-superset-from-clojure.cont.patch - https://www.assembla.com/spaces/clojure/documents/da5unsSTur34OJeJe5cbLr/download/da5unsSTur34OJeJe5cbLr
0019-removed-9-deprecated-functions-from-clojure.contrib..patch - https://www.assembla.com/spaces/clojure/documents/daZ0rSSTur34OJeJe5cbLr/download/daZ0rSSTur34OJeJe5cbLr

Comment by Assembla Importer [ 03/Sep/10 8:52 PM ]

bpsm said: [file:ahtcAoR60r34W9eJe5cbCb]

Comment by Assembla Importer [ 03/Sep/10 8:52 PM ]

bpsm said: I'll submit further patches as I have time. Not being "in the loop", I can't be certain that we really want all the namespaces marked as deprecated gone before 1.3, but that's my operating assumption. (I'm attaching one patch per namespace so that the comitters can be selective.)

Comment by Assembla Importer [ 03/Sep/10 8:52 PM ]

bpsm said: [file:bR5RKOSu0r36XVeJe5cbLA]

Comment by Assembla Importer [ 03/Sep/10 8:52 PM ]

bpsm said: [file:dxyjsaSHar37S6eJe5cbCb]: proposed new c.c.io providing only what was not migrated to Clojure proper

Comment by Assembla Importer [ 03/Sep/10 8:52 PM ]

bpsm said: Proposal: when a namespace is partially promoted to Clojure proper, it might be good to provide a reduced version of the old namespace, providing just the functionality that was not promoted as an alternative to complete removal.

I've sketched out this idea as a patch: 0010-create-clojure.contrib.io-convenience-module.

I'm imagining something like:

  • most of clojure.contrib.io is promoted to clojure 1.2
  • clojure-contrib 1.2 deprecates, but does not remove clojure.contrib.io
  • clojure-contrib 1.3 provides a reduced version of clojure.contrib.io containing only non-deprecatd functionality not available elsewhere (i.e. in Clojure ��� 1.2).

This new clojure.contrib.io is not a strict subset of the old clojure.contrib.io, as some changes seemed sensible to harmonize with clojure.java.io's conventions. This means, it's not a drop-in replacement, but at least provides equivalents for anyone trying to get off the deprecated clojure.contrib.io.

One problem that's apparent with this proposal is that, since the 'new' io only becomes available in 1.3, there would be something of a "flag day" when switching from 1.2 to 1.3, but then there would be if 1.3 completely eliminated c.c.io as well – only it would be worse.

Comment by Assembla Importer [ 03/Sep/10 8:52 PM ]

stuart.sierra said: clojure.contrib.io is deprecated, period. It will be removed in the next release.

Comment by Assembla Importer [ 03/Sep/10 8:52 PM ]

bpsm said: Fine, so ignore patch 0010. That's why it's a "proposal".

Those moving their code off of c.c.io to c.j.io will just have to write their own versions of a subset of {file-str, write-lines, read-lines, pwd, with-out, with-in, to-byte-array, relative-path-string and delete-file-recursively}, or get these from a library outside of clojure-contrib. Am I understanding correctly?

Patch 0010 contains (in the comments) some tips for porting from deprecated c.c.io to c.j.io. It would make sense to gather that kind of information in some kind of a guide/faq about how to replace uses of deprecated c.c. namespaces promotion to core was not 1-to-1.

Comment by Assembla Importer [ 03/Sep/10 8:52 PM ]

bpsm said: ���replace uses of deprecated c.c. namespaces where promotion to core was not 1-to-1.

Comment by Assembla Importer [ 03/Sep/10 8:52 PM ]

bpsm said: [file:dEtFMSSRir35x5eJe5cbCb]

Comment by Assembla Importer [ 03/Sep/10 8:52 PM ]

bpsm said: [file:dSzxyYSRir35nTeJe5cbLr]

Comment by Assembla Importer [ 03/Sep/10 8:52 PM ]

bpsm said: [file:dSD8sqSRir35nTeJe5cbLr]

Comment by Assembla Importer [ 03/Sep/10 8:52 PM ]

bpsm said: [file:cJIVlaSTur34OJeJe5cbLr]

Comment by Assembla Importer [ 03/Sep/10 8:52 PM ]

bpsm said: [file:cJNkS8STur34OJeJe5cbLr]

Comment by Assembla Importer [ 03/Sep/10 8:52 PM ]

bpsm said: [file:cJQGkcSTur34OJeJe5cbLr]

Comment by Assembla Importer [ 03/Sep/10 8:52 PM ]

bpsm said: [file:cJ5Kd4STur34OJeJe5cbLr]

Comment by Assembla Importer [ 03/Sep/10 8:52 PM ]

bpsm said: [file:cJ8-lqSTur34OJeJe5cbLr]

Comment by Assembla Importer [ 03/Sep/10 8:52 PM ]

bpsm said: [file:daZ0rSSTur34OJeJe5cbLr]

Comment by Assembla Importer [ 03/Sep/10 8:52 PM ]

bpsm said: [file:da5unsSTur34OJeJe5cbLr]

Comment by Assembla Importer [ 03/Sep/10 8:52 PM ]

bpsm said: This task looks done to me. I can nothing further in clojure-contrib that's been deprecated. I've placed these patches on a branch on github for easy browsing.





[CONTRIB-82] make defalias work with macros Created: 06/May/10  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Stuart Halloway
Resolution: Completed Votes: 0
Labels: None


 Description   

get back to 1.1-compatible behavior

See also http://www.assembla.com/spaces/clojure/tickets/273



 Comments   
Comment by Assembla Importer [ 24/Aug/10 10:55 AM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/82





[CONTRIB-87] fix gvec reflection warnings Created: 23/Jun/10  Updated: 24/Aug/10  Resolved: 24/Aug/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Stuart Halloway
Resolution: Declined Votes: 0
Labels: None


 Description   

wrong assembla space



 Comments   
Comment by Assembla Importer [ 24/Aug/10 5:52 PM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/87





[CONTRIB-95] with-ns tests broken by changes to Clojure exception reporting Created: 17/Sep/10  Updated: 17/Sep/10  Resolved: 17/Sep/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Stuart Sierra
Resolution: Completed Votes: 0
Labels: None


 Description   

with-ns tests fail after Clojure commit 1c0468dbe5228bb8c228e1370133bbe1d018e058 because of how exception messages changed



 Comments   
Comment by Assembla Importer [ 17/Sep/10 6:49 PM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/95

Comment by Assembla Importer [ 17/Sep/10 6:49 PM ]

stuart.sierra said: (In revision:11852b988be61bbf661ca80ef7a78d17e3ee2325) Fix broken with-ns tests; refs #95

  • broken by Clojure commit 1c0468dbe5228bb8c228e1370133bbe1d018e058
  • Clojure's compiler exceptions changed their format

Branch: master





[CONTRIB-97] Add zero-arity body to comp function Created: 28/Sep/10  Updated: 28/Sep/10  Resolved: 28/Sep/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Unassigned
Resolution: Declined Votes: 0
Labels: None


 Description   

The comp function should return the identity function should it be called with zero args. Currently there is no zero-arity form. I talked a little more about this at http://blog.fogus.me/2010/08/18/monkeying-with-clojures-comp-function/. Patch attached.



 Comments   
Comment by Assembla Importer [ 28/Sep/10 7:22 PM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/97
Attachments:
comp0.diff - https://www.assembla.com/spaces/clojure/documents/aoMbWYYXmr37tPeJe5cbLr/download/aoMbWYYXmr37tPeJe5cbLr

Comment by Assembla Importer [ 28/Sep/10 7:22 PM ]

fogus said: Sigh. I posted this in contrib when it should have been in core. I apologize.





[CONTRIB-94] c.c.repl-utils/show is currently broken Created: 15/Sep/10  Updated: 16/Sep/10  Resolved: 16/Sep/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Chouser
Resolution: Completed Votes: 0
Labels: None


 Description   

since the module reorganisation:

commit fe4ed31
Author: Ben Smith-Mannschott bsmith.occs@gmail.com">bsmith.occs@gmail.com
Date: Sat Aug 28 11:22:22 2010 +0200

Fix: http://github.com/juergenhoetzel/clojure-contrib/commit/31c33107f59c71ec00ae1429b38f2005dce374d3



 Comments   
Comment by Assembla Importer [ 16/Sep/10 6:16 PM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/94

Comment by Assembla Importer [ 16/Sep/10 6:16 PM ]

chouser@n01se.net said: (In revision:4083a0695087d34d13dbbe5a9b49d7c7b30ef2c4) Fix broken repl-utils/show

Was broken since fe4ed311166677cd571d23774171af1d830f7fc5
Fixes #94
Also add a bit more type info in class component maps.

Branch: master

Comment by Assembla Importer [ 16/Sep/10 6:16 PM ]

chouser@n01se.net said: Thanks for the report, Ben.





[CONTRIB-91] json end-of-file handling broken Created: 15/Aug/10  Updated: 17/Sep/10  Resolved: 17/Sep/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: rasmus.svensson
Resolution: Completed Votes: 0
Labels: None


 Description   

When read-json encounters an end-of-file, an IllegalArgumentException is thrown regardless of the user's eof preferences. This can easily be reproduced by running:

(read-json "")
</code></pre>
which throws the exception
<pre><code>java.lang.IllegalArgumentException: Value out of range for char: -1
</code></pre>
This is caused by the .read method of the Reader returning -1 when the end is reached. (.read returns an int.) This value is then passed to 'char', which tries to make the corresponding character from the code point number. However, -1 is not a valid code point, so it throws an exception.

A solution is to check for equality to -1 before trying to convert to a character. I also have an idea for a helper function that could be used:
<pre><code>(defn- read-char
  "Reads a character from a Reader. Returns nil if the end of the stream is reached"
  [stream]
  (let [x (.read stream)]
    (if (not= x -1)
      (char x))))

This function will always return either a Character or nil. Using it would make it possible to have the eof case along the other cases in the existing cond forms.



 Comments   
Comment by Assembla Importer [ 17/Sep/10 6:53 PM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/91
Attachments:
fix91-1.patch - https://www.assembla.com/spaces/clojure/documents/bYSqjYRuWr37WWeJe5cbCb/download/bYSqjYRuWr37WWeJe5cbCb

Comment by Assembla Importer [ 17/Sep/10 6:53 PM ]

stuart.sierra said: [file:bYSqjYRuWr37WWeJe5cbCb]: fix, without auxiliary function

Comment by Assembla Importer [ 17/Sep/10 6:53 PM ]

stuart.sierra said: (In revision:5a928e263ab88cb8d224de8585932f936aa30c8f) Fix EOF-handling in JSON reader; refs #91

Branch: master





[CONTRIB-104] prxml attribute value to support internal entity reference Created: 12/Feb/11  Updated: 18/Feb/11  Resolved: 18/Feb/11

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Enhancement Priority: Major
Reporter: Nevena Vidojevic Assignee: Stuart Sierra
Resolution: Declined Votes: 0
Labels: None


 Description   

Now there is no way to support internal entities in xml, as value of attribute is always beings xml-escaped and '&' (used as part of entity reference) is being replaced with '&'.



 Comments   
Comment by Stuart Sierra [ 18/Feb/11 9:32 AM ]

The special tag :raw! is available for unescaped output.

Comment by Nevena Vidojevic [ 18/Feb/11 12:40 PM ]

Special tags are not considered for attribute value (prxml-attribute fn), just for xml tags (print-xml-tag multimethod), and when used string "[:raw! ...]" is printed as attribute value.

Comment by Stuart Sierra [ 18/Feb/11 1:05 PM ]

Yes. You must put the actual XML tag inside a [:raw! ...] block if you want to use XML entities in attributes.

Comment by Nevena Vidojevic [ 18/Feb/11 4:55 PM ]

I'll be more specific...
I made entity declaration in DOCTYPE like this:

<!DOCTYPE rdf:RDF [
<!ENTITY owl "http://www.w3.org/2002/07/owl#">
]>

so I would be able to use reference to content of this named entity, using "&owl;" (XML syntax), for example:

<owl:onDatatype rdf:resource="&xsd;string">

I don't see a way to achieve this. My first thought was to use:

[:owl:onDatatype {:rdf:resource [:raw! "&xsd;string"]}]

Am I missing something?

Comment by Nevena Vidojevic [ 18/Feb/11 5:15 PM ]

Ah, ok, I can use:
[:raw! "<owl:onDatatype rdf:resource=\"&xsd;string\">"]
That seems a bit like a workaround.. I think more idiomatic way isn't so hard to achieve, but no need obviously..





[CONTRIB-34] Add zip and unzip functions to java-utils Created: 08/Oct/09  Updated: 25/Jan/11  Resolved: 25/Jan/11

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Enhancement Priority: Minor
Reporter: Stuart Sierra Assignee: Stuart Sierra
Resolution: Completed Votes: 0
Labels: None


 Description   

Talked with Stuart Sierra on IRC; he agreed these would be helpful functions to have since the JDK bizarrely omits them.

I have a test for this, but it depends on #33, so I'll wait to submit it until that patch is applied.



 Comments   
Comment by Assembla Importer [ 24/Aug/10 4:46 AM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/34
Attachments:
0001-Add-zip-and-unzip-functions-to-java-utils.clj.patch - https://www.assembla.com/spaces/clojure/documents/d2a-EiTi0r3Oz7eJe5afGb/download/d2a-EiTi0r3Oz7eJe5afGb

Comment by Assembla Importer [ 24/Aug/10 4:46 AM ]

technomancy said: [file:d2a-EiTi0r3Oz7eJe5afGb]: zip and unzip implementation

Comment by Assembla Importer [ 24/Aug/10 4:46 AM ]

stuart.sierra said: Updating tickets (#1, #2, #3, #4, #6, #20, #23, #25, #30, #31, #33, #34, #35, #37, #38, #52, #55, #58, #59, #60, #61, #62, #63, #64)

Comment by Stuart Sierra [ 25/Jan/11 2:52 PM ]

java-utils in "old" clojure-contrib is basically deprecated. This may be revived later.





[CONTRIB-101] eof-value not working in clojure.contrib.json Created: 16/Nov/10  Updated: 18/Nov/10  Resolved: 18/Nov/10

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect Priority: Minor
Reporter: Pepijn de Vos Assignee: Stuart Sierra
Resolution: Declined Votes: 0
Labels: None
Environment:

1.2 on Snow Leopard



 Description   

The docs of read-json-from promise eof-error? and eof-value, but these fail to work. This is caused by lines 116-121: https://github.com/richhickey/clojure-contrib/blob/master/src/main/clojure/clojure/contrib/json.clj#L116-121

At EOF read returns -1, but evaluating (char -1) on the repl reveals that this does not work, and thus an exception is raised before eof-value could be returned.

This is easily fixed by checking if i is in a valid range, or at least not -1, by doing something like (and (not= i -1) (char i))



 Comments   
Comment by Stuart Sierra [ 18/Nov/10 5:05 PM ]

You're using an old repository. This has been fixed. https://github.com/clojure/clojure-contrib

Comment by Stuart Sierra [ 18/Nov/10 5:07 PM ]

References old github.com/richhickey repository; this has already been fixed.





[CONTRIB-105] c.c.logging tests rely on hardcoded line-terminator Created: 28/Feb/11  Updated: 20/Apr/11  Resolved: 20/Apr/11

Status: Closed
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect Priority: Minor
Reporter: Alexander Taggart Assignee: Unassigned
Resolution: Completed Votes: 0
Labels: None


 Description   

See https://github.com/clojure/clojure-contrib/commit/330807c6d93f9a3c2bad4c8f4dd6295b6cf2053e#commitcomment-286017



 Comments   
Comment by Alexander Taggart [ 28/Feb/11 1:30 PM ]

Fix committed:
https://github.com/clojure/clojure-contrib/commit/1a88c88daa87cd61aa7c1c08d538487b55efd97d





[CONTRIB-72] Replace references to duck-streams with io in clojurescript Created: 15/Mar/10  Updated: 29/Oct/10  Resolved: 29/Oct/10

Status: Resolved
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Chouser
Resolution: Declined Votes: 0
Labels: None


 Description   

duck-streams was renamed to io back in February 1st, but clojure-script still references duck-streams. Attached is a very simple patch that fixes this.



 Comments   
Comment by Assembla Importer [ 24/Aug/10 2:51 PM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/72
Attachments:
0001-Fixed-references-to-duck-streams-in-clojurescript.patch - https://www.assembla.com/spaces/clojure/documents/ajeN44l_Or34IreJe5avMc/download/ajeN44l_Or34IreJe5avMc

Comment by Chouser [ 29/Oct/10 12:46 AM ]

Clojurescript is wildly outdated. To use it, it would be best to use contrib and clojure from approximately Clojure 1.0. Thanks for patch, but I think forcing Clojurescript to use a recent version of Clojure would actually complicate the situation for anyone desperate enough to try to use it.





[CONTRIB-98] c.c.json/json-str handles maps with keys containing quotes incorrectly Created: 30/Sep/10  Updated: 26/Nov/10  Resolved: 26/Nov/10

Status: Resolved
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Stuart Sierra
Resolution: Completed Votes: 0
Labels: None

Attachments: Text File clojure-contrib-json-98.patch    
Patch: Code and Test

 Description   

Consider:

> (println (json-str {"\"" 1})) 
{""":1} 
</code></pre>

...while I (and my parsers) would expect <pre><code>{"\"":1}
.

This happens in both contrib 1.2.0 and 1.3-alpha1.



 Comments   
Comment by Assembla Importer [ 28/Oct/10 3:05 PM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/98

Comment by Jan Rychter [ 29/Oct/10 2:37 AM ]

The enclosed patch escapes object keys. It passes all tests. I've added a test that fails without the fix and passes with it.

Comment by Jan Rychter [ 04/Nov/10 11:18 AM ]

I've been told that issues are marked as "resolved" only after the patch gets applied. I'm reopening the issue, then, hoping that someone will pick it up from here.

Comment by Stuart Sierra [ 18/Nov/10 5:11 PM ]

Patch does not apply, appears to be formatted for contrib pre-modularization.

Comment by Stuart Sierra [ 26/Nov/10 9:11 AM ]

Rewrote patch to work with modularized contrib; applied in d6f6ccfaeac03e35b1f9dbfa04424866cd9b2a41

Comment by Daniel Janus [ 26/Nov/10 4:17 PM ]

Is this going to be backported to 1.2 branch? It would be greatly appreciated.





[CONTRIB-96] Cartesian product with nil args Created: 24/Sep/10  Updated: 26/Nov/10  Resolved: 26/Nov/10

Status: Resolved
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Stuart Sierra
Resolution: Completed Votes: 0
Labels: None


 Description   

http://groups.google.com/group/clojure-dev/browse_thread/thread/ac3582cd1698be1

user> (cartesian-product [1 2] [true false] ) 
((1 true) (1 false) (2 true) (2 false)) 
user> (cartesian-product [1 2] [false true]) 
nil 
user> (cartesian-product [1 2] [nil 4]) 
nil 
false/nil in first position seems to cause failure.


 Comments   
Comment by Assembla Importer [ 24/Sep/10 3:01 PM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/96

Comment by Assembla Importer [ 24/Sep/10 3:01 PM ]

stuart.sierra said: (In revision:499b9c02d1932ba0c0651e04b627c25f7f04f0c8) cartesian-product nil-arg fix; refs #96

Branch: master

Comment by Stuart Sierra [ 26/Nov/10 8:58 AM ]

Fixed in repository commit 499b9c02d1932ba0c0651e04b627c25f7f04f0c8





[CONTRIB-114] java.jmx build failure due to missing JAR Created: 19/Aug/11  Updated: 19/Aug/11  Resolved: 19/Aug/11

Status: Resolved
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect Priority: Critical
Reporter: Michael Nygard Assignee: Unassigned
Resolution: Declined Votes: 0
Labels: None
Environment:

Mac OS X Lion, Maven 3.0.3, JDK 1.6.0_26



 Description   

Appears to be a problem with parent POM:

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.663s
[INFO] Finished at: Fri Aug 19 14:58:52 EDT 2011
[INFO] Final Memory: 6M/81M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.7.2:test (default-test) on project java.jmx: Error to resolving surefire provider dependency: Missing:
[ERROR] ----------
[ERROR] 1) org.apache.maven.surefire:surefire-junit3:jar:2.7.2
[ERROR]
[ERROR] Try downloading the file manually from the project website.
[ERROR]
[ERROR] Then, install it using the command:
[ERROR] mvn install:install-file -DgroupId=org.apache.maven.surefire -DartifactId=surefire-junit3 -Dversion=2.7.2 -Dpackaging=jar -Dfile=/path/to/file
[ERROR]
[ERROR] Alternatively, if you host your own repository you can deploy the file there:
[ERROR] mvn deploy:deploy-file -DgroupId=org.apache.maven.surefire -DartifactId=surefire-junit3 -Dversion=2.7.2 -Dpackaging=jar -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id]
[ERROR]
[ERROR] Path to dependency:
[ERROR] 1) dummy:dummy:jar:1.0
[ERROR] 2) org.apache.maven.surefire:surefire-junit3:jar:2.7.2
[ERROR]
[ERROR] ----------
[ERROR] 1 required artifact is missing.
[ERROR]
[ERROR] for artifact:
[ERROR] dummy:dummy:jar:1.0



 Comments   
Comment by Michael Nygard [ 19/Aug/11 2:14 PM ]

Please disregard. Stale <repositories> in my own ~/.m2/settings.xml appear to have been the cause.





[CONTRIB-112] clojure.java.classpath/system-classpath is incorrect when running in a classloader other than the application classloader Created: 07/Jul/11  Updated: 27/Jan/12  Resolved: 27/Jan/12

Status: Resolved
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect Priority: Major
Reporter: Justin Balthrop Assignee: Stuart Sierra
Resolution: Duplicate Votes: 1
Labels: None

Attachments: File system-classpath2.diff     File system-classpath.diff    
Patch: Code

 Description   

Because system-classpath uses java.class.path, it doesn't work when running in a classloader other than the application classloader.

This happens when running in any container that uses a custom classloader (e.g. Jetty, Cake, TomCat).

The fix is to use (.getURLs (.getClassLoader clojure.lang.RT)) instead of (System/getProperty "java.class.path"). A patch is attached.



 Comments   
Comment by Justin Balthrop [ 07/Jul/11 1:52 PM ]

Here is an updated patch with a fix for the system-classpath docstring as well.

Comment by Justin Balthrop [ 13/Sep/11 4:02 PM ]

Any update on this?

Comment by Justin Balthrop [ 13/Sep/11 7:04 PM ]

There is now a ticket in the CLASSPATH project for this (http://dev.clojure.org/jira/browse/CLASSPATH-1).

Comment by Stuart Sierra [ 27/Jan/12 9:45 AM ]

CLASSPATH-1





[CONTRIB-100] Control output of non-ASCII characters in clojure-contrib.json Created: 31/Oct/10  Updated: 30/Nov/10  Resolved: 30/Nov/10

Status: Resolved
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Enhancement Priority: Minor
Reporter: Alex Ott Assignee: Stuart Sierra
Resolution: Completed Votes: 0
Labels: None

Attachments: Text File cc.json-escape-chars.patch    

 Description   

Current version of JSON output functions perform escaping of non-ASCII characters into \uXXXX sequences, although json allows to use any Unicode character in strings. When working with non-Latin-1 based texts, this lead to additional traffic.

Given patch fixes this problem, leaving old behavior by default, but adding new option to output functions, that now accept :escape-chars option, that control how non-ASCII characters in string will output. When this option has value 'true' (default), then hex sequences are used for these characters, and when 'false', then characters are output as-is

P.S. I sent CA at start of June, so Rich should already have it



 Comments   
Comment by Alex Ott [ 31/Oct/10 10:10 AM ]

Or you can merge from my clojure-contrib repo from 'unquoted-json' branch - http://github.com/alexott/clojure-contrib/commit/c22da330f1f5b64a5789bde2bbb958cd9fdc31fa

Comment by Stuart Sierra [ 30/Nov/10 11:32 AM ]

I'm happy with the idea. Not sure about the implementation.

For other configuration options (keywordizing object fields) I used local arguments, assuming it would be faster than Var lookups. With recent enhancements to Var lookup, that may no longer be true. Need to investigate.

Comment by Stuart Sierra [ 30/Nov/10 11:34 AM ]

Patch file submitted 31/Oct/10 does not work. "git am -s" returns "Patch does not have a valid e-mail address." http://clojure.org/patches

Comment by Stuart Sierra [ 30/Nov/10 11:54 AM ]

Alternate implementation committed

Comment by Stuart Sierra [ 30/Nov/10 2:34 PM ]

Enhancement committed.





[CONTRIB-109] Incorrect line separator handling in spy macro Created: 18/May/11  Updated: 18/May/11  Resolved: 18/May/11

Status: Resolved
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect Priority: Trivial
Reporter: Alexander Taggart Assignee: Alexander Taggart
Resolution: Completed Votes: 0
Labels: None


 Description   

The spy macro removes a trailing newline added by pprint, but windows systems have two-character line separators.

Also applies to clojure.tools.logging.



 Comments   
Comment by Alexander Taggart [ 18/May/11 11:42 AM ]

Now uses clojure.string.trim-newline.

https://github.com/clojure/clojure-contrib/commit/c4810ab19657bd82ad94efe5551db1d338aad23c
https://github.com/clojure/tools.logging/commit/623c6df079835f15ae8b1e885eda397c2e32a5e6





[CONTRIB-25] Clojure API documentation should identify the date the doc was generated and the version number of the library Created: 23/Aug/09  Updated: 24/Aug/10

Status: In Progress
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Tom Faulhaber
Resolution: Unresolved Votes: 0
Labels: None


 Description   

Failing to do this causes a lot of confusion (I've already gotten bit) when you have stable releases out in the world and the docs reflect an alpha version. This has been painful, for example, with the shift of clojure.contrib.test-is to clojure.test.



 Comments   
Comment by Assembla Importer [ 24/Aug/10 4:17 AM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/25

Comment by Assembla Importer [ 24/Aug/10 4:17 AM ]

stuart.sierra said: Updating tickets (#1, #2, #3, #4, #6, #20, #23, #25, #30, #31, #33, #34, #35, #37, #38, #52, #55, #58, #59, #60, #61, #62, #63, #64)





[CONTRIB-55] clojure.contrib.sql expects *err* to be a PrintWriter Created: 31/Dec/09  Updated: 24/Apr/11

Status: In Progress
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Stephen C. Gilardi
Resolution: Unresolved Votes: 0
Labels: None


 Description   

The problem is that c.c.sql.internal calls `.println` on a "stream" to print update counts and errors. That method only exists on a `PrintWriter`. This isn't true within Slime, where it's a `StringWriter`.

The attached patch binds `out` and uses `println` instead, which does the right thing. I've augmented the docstrings to request a `Writer` as the value of `stream`, which aligns with the docstring for `print`.



 Comments   
Comment by Assembla Importer [ 24/Aug/10 8:43 AM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/55
Attachments:
sql-internal.diff - https://www.assembla.com/spaces/clojure/documents/btl6lW9Mmr3OPceJe5aVNr/download/btl6lW9Mmr3OPceJe5aVNr

Comment by Assembla Importer [ 24/Aug/10 8:43 AM ]

rnewman said: [file:btl6lW9Mmr3OPceJe5aVNr]: Diff against current head.

Comment by Assembla Importer [ 24/Aug/10 8:43 AM ]

stuart.sierra said: Updating tickets (#1, #2, #3, #4, #6, #20, #23, #25, #30, #31, #33, #34, #35, #37, #38, #52, #55, #58, #59, #60, #61, #62, #63, #64)

Comment by Assembla Importer [ 24/Aug/10 8:43 AM ]

scgilardi said: Following the discussion in the developer group and as suggested by Stuart Halloway, I'm planning to make these changes:

[1] adopt the substance of Richard Newman's patch, changes to sql.internal's print-sql-exception, print-sql-exception-chain, print-update-counts functions
[2] remove the automatic printing to err on exceptions. It will be up to the caller to handle the exceptions as he desires: eating, logging, or printing, etc.
[3] move the print* functions to c.c.sql proper as they will now be "public".

Comment by Sean Corfield [ 24/Apr/11 10:49 PM ]

This will be addressed in clojure.java.jdbc and needs to be migrated to the new JIRA project for it once that is created (I don't have permission to do anything beyond comment / clone this issue).





[CONTRIB-75] tests for c.c.io Created: 14/Apr/10  Updated: 10/Nov/10

Status: In Progress
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Daniel Solano Gómez
Resolution: Unresolved Votes: 0
Labels: None


 Description   

c.c.io has few tests, despite being on the most used libraries in contrib. Be a clojure here and write some unit tests for this module. Code review comments would be welcome too!



 Comments   
Comment by Assembla Importer [ 24/Aug/10 10:30 AM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/75

Comment by Colin Jones [ 10/Nov/10 9:54 AM ]

c.c.io no longer exists, as of 2c6c9e3. So this ticket should likely move to Clojure proper (for clojure.java.io).

A cursory look through the clojure.java.io tests shows that most public functions are covered, but there's probably still room for more tests there. Needs more investigation.

The real link to the Assembla ticket is http://www.assembla.com/spaces/clojure-contrib/tickets/75





[CONTRIB-99] Bug in clojure.contrib.json/read-json Created: 01/Oct/10  Updated: 26/Jan/11

Status: In Progress
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Anthony Simpson
Resolution: Unresolved Votes: 0
Labels: None


 Description   

Pulled this from clojure assembla ticket #436 to clojure-contrib
See clojure-436

What (small set of) steps will reproduce the problem?
$ java -cp lib/clojure-1.2.0.jar:lib/clojure-contrib-1.2.0.jar clojure.main
Clojure 1.2.0
user=> (require 'clojure.contrib.json)
nil
user=> (clojure.contrib.json/read-json "")
java.lang.IllegalArgumentException: Value out of range for char: -1 (NO_SOURCE_FILE:0)
user=>

What is the expected output? What do you see instead?

Expected:

(if eof-error?
  (throw (EOFException. "JSON error (end-of-file)"))
  eof-value)

What version are you using?
1.2

Was this discussed on the group? If so, please provide a link to the discussion
[13:51] <na_ka_na> Hey guys I think there's a bug in clojure.contrib.json at line 116
[13:51] <na_ka_na> in clojure 1.2
[13:52] <na_ka_na> it has a (char i) and then checks for (= i -1) ... but (char -1) fails
[13:52] <na_ka_na> where can I report it ?
[13:53] <LauJensen> na_ka_na: assembla/support



 Comments   
Comment by Assembla Importer [ 19/Oct/10 12:20 AM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/99

Comment by Anthony Simpson [ 06/Jan/11 7:05 PM ]

This appears to no longer be applicable.

Clojure 1.3.0-master-SNAPSHOT
user=> (require 'clojure.contrib.json)
nil
user=> (clojure.contrib.json/read-json "")
EOFException JSON error (end-of-file) clojure.contrib.json/read-json-reader (json.clj:115)

Comment by Rasmus Svensson [ 26/Jan/11 6:26 AM ]

Could this be a duplicate of http://dev.clojure.org/jira/browse/CONTRIB-91 ?





[CONTRIB-88] clojure.contrib.sql runs out of memory on very large datasets Created: 09/Jul/10  Updated: 24/Aug/10

Status: In Progress
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Assembla Importer
Resolution: Unresolved Votes: 0
Labels: None


 Description   

If you have a query that results in a very large dataset you will run out of memory because by default, with-query-results pulls the entire result set into memory (even though it creates a lazy-seq using resultset-seq).

This issue has been discussed previously here:
http://groups.google.com/group/clojure/browse_thread/thread/7b0c250e0ba6c9eb/fb9001522b49c20a

The fix is simple, just call (.setFetchSize stmt 1). But, with-query-results doesn't give you a way to do that currently. I propose adding an optional parameter after sql-params that is a hash of attributes to set on the PreparedStatement before executing it.

So you can do this:

(with-connection {���} 
    (.setAutoCommit (sql/connection) false) ;; needed for postgres 
    (with-query-results results ["SELECT id, data FROM nodes"] 
      {:fetch-size 1000} 
      (doseq [r results] 
        ���)))

The new code in clojure.contrib.sql is very simple, but it depends on a new contrib namespace called clojure.contrib.bean. Here is more info on my proposed fix:
http://groups.google.com/group/clojure-dev/browse_thread/thread/d8334759f10f3f45



 Comments   
Comment by Assembla Importer [ 24/Aug/10 8:09 PM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/88
Attachments:
sql-stmt-opts-with-bean.diff - https://www.assembla.com/spaces/clojure/documents/cjDxceI4er36sweJe5cbCb/download/cjDxceI4er36sweJe5cbCb

Comment by Assembla Importer [ 24/Aug/10 8:09 PM ]

importer said: [file:cFaBqYI38r3565eJe5cbLA]

Comment by Assembla Importer [ 24/Aug/10 8:09 PM ]

importer said: [file:cjDxceI4er36sweJe5cbCb]

Comment by Assembla Importer [ 24/Aug/10 8:09 PM ]

importer said: Hey Steve,

Any progress on this? Another option instead of passing a map of attributes and using bean would be to allow the user to pass an optional function that would be called on the statement object. I've seen code like this in compojure, I think:

(with-connection {���} 
    (.setAutoCommit (sql/connection) false) ;; needed for postgres 
    (with-query-results results ["SELECT id, data FROM nodes"] 
      #(.setFetchSize % 1) 
      (doseq [r results] 
        ���)))

If this sounds better to you, I can submit a patch.

Cheers,
Justin

Comment by Assembla Importer [ 24/Aug/10 8:09 PM ]

importer said: Kyle Burton just posted a blog post about this issue: http://asymmetrical-view.com/2010/10/14/clojure-lazy-walk-sql-table.html

His fix is to add a new method called with-query-results-cursor which turns off auto-commit and sets the fetch size.

Steve, would this approach work better for you?





[CONTRIB-45] Add new functions to c.c.map-utils Created: 10/Nov/09  Updated: 26/Jul/13

Status: In Progress
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Sean Devlin
Resolution: Unresolved Votes: 0
Labels: None


 Description   

This is a ticket for patches related to c.c.map-utils. See the following discussions:

http://groups.google.com/group/clojure-dev/browse_thread/thread/9a518c853bfbba8b
http://groups.google.com/group/clojure-dev/browse_thread/thread/4b20e40d83095c67



 Comments   
Comment by Assembla Importer [ 24/Aug/10 6:08 AM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/45
Attachments:
map-utils-update.diff - https://www.assembla.com/spaces/clojure/documents/aH0Rc00aur3QaFeJe5afGb/download/aH0Rc00aur3QaFeJe5afGb

Comment by Assembla Importer [ 24/Aug/10 6:08 AM ]

devlinsf said: [file:aH0Rc00aur3QaFeJe5afGb]: A patch containing updates to map utils

Comment by Assembla Importer [ 24/Aug/10 6:08 AM ]

stuart.sierra said: Updating tickets (#28, #32, #45, #47, #51, #19)





[CONTRIB-92] gen-html-docs build fails due to unecessary :use of c.c.def Created: 24/Aug/10  Updated: 26/Jul/13

Status: In Progress
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None


 Description   

on clojure-contrib master:
gen-html-docs :uses c.c.def without actually using anything from it.
This causes the maven build to fail because clojure.contrib:def is not listed as a dependency in gen-html-docs' pom.xml.



 Comments   
Comment by Assembla Importer [ 26/Aug/10 11:23 PM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/92
Attachments:
0001-gen_html_docs.clj-no-longer-uses-clojure.contrib.def.patch - https://www.assembla.com/spaces/clojure/documents/a8fqHcR6er37N2eJe5cbLr/download/a8fqHcR6er37N2eJe5cbLr





[CONTRIB-86] c.c.memoize: thread-safe and extensible memoize Created: 28/May/10  Updated: 26/Jul/13

Status: In Progress
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None


 Description   

Add the thread-safe, extensible memoize sparked from the discussion here: http://groups.google.com/group/clojure/browse_thread/thread/36a13d150d830683/fe6daf462d3ebfac



 Comments   
Comment by Assembla Importer [ 24/Aug/10 5:22 PM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/86
Attachments:
0001-Add-thread-safe-extensible-memoize-v2.patch - https://www.assembla.com/spaces/clojure/documents/aTrQGuAP0r35h6eJe5cbCb/download/aTrQGuAP0r35h6eJe5cbCb

Comment by Assembla Importer [ 24/Aug/10 5:22 PM ]

bpsm said: ^{:doc "The naive safe-all cache strategy for memoize."}
Replace "safe" with "save".

Comment by Assembla Importer [ 24/Aug/10 5:22 PM ]

meikelbrandmeyer said: Typo fixed.





[CONTRIB-35] clojure.contrib.trace/deftrace does not work with function definitions with doc-strings Created: 09/Oct/09  Updated: 26/Jul/13

Status: In Progress
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None


 Description   

Apparently, defttrace does not support functions with doc-strings. I tried replacing defn with deftrace in a function of mine (as the docs indicated) and I got the following error -

java.lang.IllegalArgumentException: Don't know how to create ISeq from: Symbol
</code></pre>

Sample code to reproduce the error - 

<pre><code>(deftrace fact
  "Calculate the factorial of x"
  [x]
  (if (< x 1)
    1
    (* x (fact (- x 1)))))

Would be great if this bug is fixed, all my functions have doc-strings



 Comments   
Comment by Assembla Importer [ 28/Oct/10 5:08 AM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/35
Attachments:
0001-Allow-deftrace-to-work-with-docstrings-and-metadata-.patch - https://www.assembla.com/spaces/clojure/documents/bns8Fu4Jqr37_9eJe5cbCb/download/bns8Fu4Jqr37_9eJe5cbCb

Comment by Assembla Importer [ 28/Oct/10 5:08 AM ]

stuart.sierra said: Updating tickets (#1, #2, #3, #4, #6, #20, #23, #25, #30, #31, #33, #34, #35, #37, #38, #52, #55, #58, #59, #60, #61, #62, #63, #64)

Comment by Assembla Importer [ 28/Oct/10 5:08 AM ]

trptcolin said: [file:bns8Fu4Jqr37_9eJe5cbCb]

Comment by Assembla Importer [ 28/Oct/10 5:08 AM ]

trptcolin said: This patch adds support and tests for both docstrings and metadata, and also fixes the regex in the existing test to correctly identify errors. The current regex has unescaped characters: | ( ) that were almost certainly typos, as matching (for instance) only the last line of output would pass the test. The docstring/metadata support is a simplified version of what's in the source of defn.

Comment by Luc Préfontaine [ 30/Sep/11 1:36 PM ]

Issue fixed in tools.trace 1.0 which is compatible for both Clojure 1.2.x and 1.3.
The macro now verifies if the first argument is a doc string and adapts accordingly.
This ticket can be closed.





[CONTRIB-80] Add catch clauses to c.c.condition Created: 27/Apr/10  Updated: 26/Jul/13

Status: In Progress
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None


 Description   

Currently using clojure.contrib.condition is awkward if you need to handle both Conditions and Exceptions. This patch by Steve Gilardi and myself allows you to include catch clauses in your handle-case forms for regular Exceptions.



 Comments   
Comment by Assembla Importer [ 24/Aug/10 10:45 AM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/80
Attachments:
0001-Support-catch-clauses-in-c.c.condition-for-regular-E.patch - https://www.assembla.com/spaces/clojure/documents/bn8Re8uIyr36S4eJe5cbLr/download/bn8Re8uIyr36S4eJe5cbLr

Comment by Assembla Importer [ 24/Aug/10 10:45 AM ]

technomancy said: [file:bn8Re8uIyr36S4eJe5cbLr]: the patch





[CONTRIB-74] clojure.contrib.condition: list? not the correct predicate for detecting forms Created: 12/Apr/10  Updated: 26/Jul/13

Status: In Progress
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Stephen C. Gilardi
Resolution: Unresolved Votes: 0
Labels: None


 Description   

The handler-case macro detects forms of the form "(handle ...)" by checking for items in the body for which list? returns true that begin with the symbol handle. code can be built from seqs that are not lists (e.g., clojure.lang.Cons's or lazy-seqs). The proper predicate is "seq?" not "list?".



 Comments   
Comment by Assembla Importer [ 24/Aug/10 9:24 AM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/74
Attachments:
0001-Use-seq-instead-of-list-to-determine-codeiness-.-Ref.patch - https://www.assembla.com/spaces/clojure/documents/cqHmfyuIur35MTeJe5cbLr/download/cqHmfyuIur35MTeJe5cbLr

Comment by Assembla Importer [ 24/Aug/10 9:24 AM ]

technomancy said: [file:cqHmfyuIur35MTeJe5cbLr]: Implements the fix





[CONTRIB-90] clojure.contrib.io does not support appending anymore Created: 04/Aug/10  Updated: 26/Jul/13

Status: In Progress
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: bpsm
Resolution: Unresolved Votes: 0
Labels: None


 Description   

Reproduce the bug with:

(require 'clojure.contrib.io)
(clojure.contrib.io/append-writer "/xyz.txt")
</code></pre>
which will throw an Exception ���Cannot change an open stream to append mode���.

This is caused because of a flaw in the call chain.
*clojure.contrib.io/writer* for Strings calls again *writer* for whatever *clojure.contrib.io/output-stream*
returns. We call *append-writer* which then calls *writer* on the String which in turn then calls:
<pre><code>
output-stream for ^String which calls
    output-stream for ^URL which calls
        output-stream for ^File which binds *append* to false and calls
            output-stream for ^OutputStream which
            returns a BufferedOutputStream instance which then jumps back to the
        ^File handler, which removes its binding for *append*!! and returns the BOS to the
    ^URL handler which returns the BOS to the
^String handler

At this point the outer binding (for append) is set to true again, and assert-not-appending fails.



 Comments   
Comment by Assembla Importer [ 26/Aug/10 8:25 PM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/90
Attachments:
0002-t90-default-reader-implementation-special-cases-for-.patch - https://www.assembla.com/spaces/clojure/documents/auuXEWSiur35DyeJe5cbCb/download/auuXEWSiur35DyeJe5cbCb
0001-t90-regression-test.patch - https://www.assembla.com/spaces/clojure/documents/amTyVwSt8r378NeJe5cbLr/download/amTyVwSt8r378NeJe5cbLr

Comment by Assembla Importer [ 26/Aug/10 8:25 PM ]

bpsm said: I've looked at this defect (on master). It seems thorny to me.

I'm finding the control flow in c.c.io rather difficult to follow, what with all those extensions of the Streams protocol delegating to one-another. I'm reasonably certain that the solution is to special case the creation of a reader in append mode.

I'll attach a patch that does this by providing a default implementation for :writer, which seems to solve the problem, but I think I still need to think about it some more before I can call it 'done'.

Note: this defect is also present in clojure.java.io 1.2.0.

Comment by Assembla Importer [ 26/Aug/10 8:25 PM ]

bpsm said: [file:auuXEWSiur35DyeJe5cbCb]

Comment by Assembla Importer [ 26/Aug/10 8:25 PM ]

bpsm said: Correction: This issue is not present in clojure 1.2.0. my bad.
I was mistaken about this bug being present in clojure.java.io. append-writer doesn't even exist there and the append magic is gone there too as per clojure#311.
I think there was just something wonky with my swank-clojure:

clojure.contrib.io> (require 'clojure.java.io)
nil
clojure.contrib.io> (in-ns 'clojure.java.io)
#<Namespace clojure.java.io>
clojure.java.io> (with-open [x (append-writer "/tmp/foo.txt")] x)
; Evaluation aborted.  ;;; EXCEPTION HERE
Comment by Assembla Importer [ 26/Aug/10 8:25 PM ]

bpsm said: [file:amTyVwSt8r378NeJe5cbLr]: regression test

Comment by Assembla Importer [ 26/Aug/10 8:25 PM ]

bpsm said: The provided regression test demonstrates the described issue and confirms that the provided patch resolves the issue. All other io unit tests continue to pass.

Comment by Assembla Importer [ 26/Aug/10 8:25 PM ]

stuart.sierra said: clojure.contrib.io is deprecated and will be removed before the next release.

Comment by Assembla Importer [ 26/Aug/10 8:25 PM ]

bpsm said: Let's see if I'm on the same page that you're on:

Since 1.2.0 is at RC3 already, you must mean 1.3.0 when you say "next release", yes/no? Predicated on that:

  • I think this should be fixed on the 1.2.x branch, where c.c.io is available, though deprecated. ("deprecated, but working" is better than "deprecated by slightly buggy.") The attached patch is against 1.2.x, not master, despite what my initial comment on this issue says.
  • I've provided a patch on #93 to remove c.c.io on master (1.3.x).




[CONTRIB-28] Add c.c.table namespace Created: 28/Aug/09  Updated: 26/Jul/13

Status: In Progress
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Sean Devlin
Resolution: Unresolved Votes: 0
Labels: None


 Description   

Add the namespace c.c.table, as described here:

http://groups.google.com/group/clojure-dev/browse_thread/thread/b60015723d81aa34

Also, support functions described here:
http://groups.google.com/group/clojure-dev/browse_thread/thread/4b20e40d83095c67
http://groups.google.com/group/clojure-dev/browse_thread/thread/155c8b9893d673bc

Sean



 Comments   
Comment by Assembla Importer [ 24/Aug/10 7:21 AM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/28
Attachments:
create_c_c_table.diff - https://www.assembla.com/spaces/clojure/documents/c5HLnELeKr3R1ieJe5afGb/download/c5HLnELeKr3R1ieJe5afGb

Comment by Assembla Importer [ 24/Aug/10 7:21 AM ]

devlinsf said: [file:c5HLnELeKr3R1ieJe5afGb]: Changes to support table-utils

Comment by Assembla Importer [ 24/Aug/10 7:21 AM ]

richhickey said: Please do not commit this (or any new libs) without approval from me first - thanks.

Comment by Assembla Importer [ 24/Aug/10 7:21 AM ]

stuart.sierra said: Updating tickets (#28, #32, #45, #47, #51, #19)





[CONTRIB-19] Re-add auto-agent.clj Created: 19/Aug/09  Updated: 24/Aug/10

Status: Open
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None


 Description   

This was discussed briefly on the clojure dev list, but no consensus was reached. Instead, I have attached the changes that have fixed the original library and if the clojure-contrib members wish to include it (again), then it's readily available.

The original code by Sierra required 2 changes to get working. First, @ was macro-expanding to a lazy-seq, so the filtering based on list? would fail. Second, I added a check for an explicit call to (deref). Also, I re-added auto-agent namespace for compilation to build.xml.

My live changes can be found at: http://github.com/fogus/clojure-contrib/tree/auto-agent-again. The tests can be run with (run-tests 'clojure.contrib.auto-agent).

If it is merged back into the contrib master, then I would be happy to roll the tests into the test-contrib framework.



 Comments   
Comment by Assembla Importer [ 24/Aug/10 4:15 AM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/19
Attachments:
auto-agent-again.diff - https://www.assembla.com/spaces/clojure/documents/dHYyXWJour3OEFeJe5afGb/download/dHYyXWJour3OEFeJe5afGb

Comment by Assembla Importer [ 24/Aug/10 4:15 AM ]

fogus said: [file:dHYyXWJour3OEFeJe5afGb]

Comment by Assembla Importer [ 24/Aug/10 4:15 AM ]

stuart.sierra said: Updating tickets (#28, #32, #45, #47, #51, #19)





[CONTRIB-71] patch for changing assert-args over to :pre and :post for c.c.mock Created: 08/Feb/10  Updated: 24/Aug/10

Status: Open
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None


 Description   

I've cleaned up the documentation and got rid of the old assert-args code from c.c.mock. The attached patches contain the two commits I made on my repository. I'm new to patches and git so let me know if I missed anything obvious!



 Comments   
Comment by Assembla Importer [ 24/Aug/10 2:17 PM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/71
Attachments:
0001-cleaned-up-formatting-and-improved-documentation-of-.patch - https://www.assembla.com/spaces/clojure/documents/bANPRCfq0r34l9eJe5afGb/download/bANPRCfq0r34l9eJe5afGb
0002-removed-assert-args-macro-borrowed-from-core-and-rep.patch - https://www.assembla.com/spaces/clojure/documents/bANTaAfq0r34l9eJe5afGb/download/bANTaAfq0r34l9eJe5afGb
c.c.mock-updates.diff - https://www.assembla.com/spaces/clojure/documents/djL5oaC8Wr37DOeJe5cbLr/download/djL5oaC8Wr37DOeJe5cbLr

Comment by Assembla Importer [ 24/Aug/10 2:17 PM ]

matt.clark.1 said: [file:djL5oaC8Wr37DOeJe5cbLr]: Use only this patch. The other two are hopelessly out of date.





[CONTRIB-85] build and release sublibraries Created: 26/May/10  Updated: 24/Aug/10

Status: Open
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect
Reporter: Anonymous Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None


 Description   

Design goals

  • keep key libraries in contrib, protecting provenance and license so that non-technical issues do not keep people from using code
  • continue to produce a monolithic contrib build for casual/one-off application consumers
  • start building individual libraries within contrib, so that larger apps can manage dependencies in a granular fashion

I propose we start with the new match (matchure) library, get feedback, and then take requests for what other libraries need to be bundled separately.



 Comments   
Comment by Assembla Importer [ 24/Aug/10 11:18 AM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/85





[CONTRIB-107] Build Broken since April 8th Created: 15/Apr/11  Updated: 26/Jul/13

Status: Open
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect Priority: Blocker
Reporter: Paul Michael Bauer Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Environment:

All


Attachments: Text File 0001-Changes-to-clojure-1.3-alpha-break-the-build-logging.patch    
Patch: Code and Test

 Description   

Since the April 8th commit to no longer recognize "earmuff" variables as dynamic by default, clojure-contrib/logging and clojure-contrib/trace are broken.



 Comments   
Comment by Paul Michael Bauer [ 15/Apr/11 11:01 PM ]

There is a pending pull request to fix logging and trace.

Comment by Paul Michael Bauer [ 17/Apr/11 8:38 AM ]

I posted this after observing the broken build and not realising clojure-contrib was recently deprecated.
Apologies. I would close this, but my perms don't allow it?





[CONTRIB-106] variable name colision in java-utils/set-system-properties Created: 09/Mar/11  Updated: 09/Mar/11

Status: Open
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect Priority: Major
Reporter: Marcin Kozey Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Environment:

1.3.0-SNAPSHOT



 Description   

(defn set-system-properties
"Set some system properties. Nil clears a property."
[settings]
(doseq [[name val] settings]
(if val
(System/setProperty (name name) (name val))
(System/clearProperty (name name)))))

Somebody did a find/replace as-str -> name and created fn/variable colision with "name"






[CONTRIB-110] clojure.contrib.json does not parse JSON strings containing back slashes on Windows Created: 27/May/11  Updated: 27/May/11

Status: Open
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect Priority: Major
Reporter: Rick Moynihan Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Environment:

Clojure 1.2.1 and Clojure contrib 1.2.0 on Windows 7 with Sun JVM 1.6.0_22-b04



 Description   

This bug does not seem to occur on my Linux box, but when run under Windows I get the following:

user> (read-json "\"C:\\Users\"")

"C:nullsers"

On Linux I get what I would expect:

user> (read-json "\"C:\\Users\"")

"C:\Users"





[CONTRIB-111] Build failure against edge clojure Created: 01/Jun/11  Updated: 01/Jun/11

Status: Open
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect Priority: Major
Reporter: Amitava Shee Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Environment:

clojure tip - commit 66a88de9408e93cf2b0d73382e662624a54c6c86
clojure-contrib tip - commit 4b562d9d110f169ea37c320edf96ad78c2fb2618



 Description   

Build failure

ashee:clojure-contrib amitava$ mvn assembly:assembly -Dclojure.jar=/Users/amitava/opt/clojure/clojure.jar

....Lots of output elided....

Testing clojure.contrib.test-logging
Exception in thread "main" java.lang.IllegalStateException: Can't dynamically bind non-dynamic var: clojure.contrib.logging/log-factory
at clojure.lang.Var.pushThreadBindings(Var.java:339)
at clojure.core$push_thread_bindings.invoke(core.clj:1716)
at clojure.contrib.test_logging$eval248$fn__249.invoke(test_logging.clj:19)
at clojure.test$compose_fixtures$fn_6529$fn_6530.invoke(test.clj:670)
at clojure.test$default_fixture.invoke(test.clj:663)
at clojure.test$compose_fixtures$fn__6529.invoke(test.clj:670)
at clojure.test$test_all_vars.invoke(test.clj:705)
at clojure.test$test_ns.invoke(test.clj:728)
at clojure.core$map$fn__3840.invoke(core.clj:2433)
at clojure.lang.LazySeq.sval(LazySeq.java:42)
at clojure.lang.LazySeq.seq(LazySeq.java:60)
at clojure.lang.Cons.next(Cons.java:39)
at clojure.lang.RT.boundedLength(RT.java:1607)
at clojure.lang.RestFn.applyTo(RestFn.java:130)
at clojure.core$apply.invoke(core.clj:602)
at clojure.test$run_tests.doInvoke(test.clj:743)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at user$eval488$fn__491.invoke(run-test8724407867004279179.clj:9)
at user$eval488.invoke(run-test8724407867004279179.clj:7)
at clojure.lang.Compiler.eval(Compiler.java:6406)
at clojure.lang.Compiler.load(Compiler.java:6843)
at clojure.lang.Compiler.loadFile(Compiler.java:6804)
at clojure.main$load_script.invoke(main.clj:282)
at clojure.main$script_opt.invoke(main.clj:342)
at clojure.main$main.doInvoke(main.clj:426)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at clojure.lang.Var.invoke(Var.java:401)
at clojure.lang.AFn.applyToHelper(AFn.java:161)
at clojure.lang.Var.applyTo(Var.java:518)
at clojure.main.main(main.java:37)
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] Clojure Contrib parent module ..................... SKIPPED
[INFO] def ............................................... SKIPPED
[INFO] types ............................................. SKIPPED
[INFO] generic ........................................... SKIPPED
[INFO] accumulators ...................................... SKIPPED
[INFO] agent-utils ....................................... SKIPPED
[INFO] base64 ............................................ SKIPPED
[INFO] jar ............................................... SKIPPED
[INFO] classpath ......................................... SKIPPED
[INFO] combinatorics ..................................... SKIPPED
[INFO] command-line ...................................... SKIPPED
[INFO] complex-numbers ................................... SKIPPED
[INFO] cond .............................................. SKIPPED
[INFO] seq ............................................... SKIPPED
[INFO] condition ......................................... SKIPPED
[INFO] core .............................................. SKIPPED
[INFO] graph ............................................. SKIPPED
[INFO] except ............................................ SKIPPED
[INFO] dataflow .......................................... SKIPPED
[INFO] datalog ........................................... SKIPPED
[INFO] error-kit ......................................... SKIPPED
[INFO] fcase ............................................. SKIPPED
[INFO] find-namespaces ................................... SKIPPED
[INFO] fnmap ............................................. SKIPPED
[INFO] prxml ............................................. SKIPPED
[INFO] gen-html-docs ..................................... SKIPPED
[INFO] greatest-least .................................... SKIPPED
[INFO] import-static ..................................... SKIPPED
[INFO] java-utils ........................................ SKIPPED
[INFO] jmx ............................................... SKIPPED
[INFO] json .............................................. SKIPPED
[INFO] lazy-seqs ......................................... SKIPPED
[INFO] lazy-xml .......................................... SKIPPED
[INFO] logging ........................................... SKIPPED
[INFO] macro-utils ....................................... SKIPPED
[INFO] macros ............................................ SKIPPED
[INFO] map-utils ......................................... SKIPPED
[INFO] math .............................................. SKIPPED
[INFO] miglayout ......................................... SKIPPED
[INFO] mmap .............................................. SKIPPED
[INFO] ns-utils .......................................... SKIPPED
[INFO] mock .............................................. SKIPPED
[INFO] monads ............................................ SKIPPED
[INFO] monadic-io-streams ................................ SKIPPED
[INFO] priority-map ...................................... SKIPPED
[INFO] stream-utils ...................................... SKIPPED
[INFO] probabilities ..................................... SKIPPED
[INFO] profile ........................................... SKIPPED
[INFO] reflect ........................................... SKIPPED
[INFO] repl-ln ........................................... SKIPPED
[INFO] repl-utils ........................................ SKIPPED
[INFO] server-socket ..................................... SKIPPED
[INFO] set ............................................... SKIPPED
[INFO] singleton ......................................... SKIPPED
[INFO] sql ............................................... SKIPPED
[INFO] with-ns ........................................... SKIPPED
[INFO] strint ............................................ SKIPPED
[INFO] swing-utils ....................................... SKIPPED
[INFO] trace ............................................. SKIPPED
[INFO] zip-filter ........................................ SKIPPED
[INFO] complete .......................................... SKIPPED
[INFO] standalone ........................................ SKIPPED
[INFO] Clojure Contrib ................................... FAILURE [2:34.296s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2:35.348s
[INFO] Finished at: Wed Jun 01 21:48:18 EDT 2011
[INFO] Final Memory: 10M/81M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal com.theoryinpractise:clojure-maven-plugin:1.3.3:test (test-clojure) on project logging: Clojure failed. -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR] mvn <goals> -rf :logging






[CONTRIB-113] There needs to be a way to collect regular arguments in tools.cli Created: 18/Jul/11  Updated: 18/Jul/11

Status: Open
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Enhancement Priority: Major
Reporter: Anthony Simpson Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None


 Description   

In clojure.contrib.command-line, you could specify a 'catch-all' argument at the end of your spec and all arguments after the ones that were parsed would be collected in. In tools.cli, nothing like this seems to exist.

For example, with tools.cli, there is no way to handle stuff like this: "myapp --foo bar --baz foo a b c". The last three arguments, a, b, and c will all be discarded with no way to retrieve them.

Finally, if this wasn't the right place to put this issue, I apologize. tools.cli doesn't seem to be listed as a project and you guys don't accept issues on Github, so I wasn't sure what else to do.






[CONTRIB-117] POM file for math.combinatorics Created: 09/Sep/11  Updated: 09/Sep/11

Status: Open
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Enhancement Priority: Major
Reporter: Michael Nygard Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None

Attachments: XML File pom.xml    
Patch: Code

 Description   

I noticed that math.combinatorics isn't being built or released yet. Here is the pom file needed to get it into CI builds.






[CONTRIB-102] clojure.contrib.core/-?> (and perhaps others?) have a quoting bug Created: 07/Dec/10  Updated: 26/Jul/13

Status: Open
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect Priority: Major
Reporter: Jason Wolfe Assignee: Laurent Petit
Resolution: Unresolved Votes: 0
Labels: None
Environment:

1.2 and 1.3


Attachments: File fix-CONTRIB-102.diff     File patch.diff    
Patch: Code

 Description   

See:

https://groups.google.com/group/clojure/browse_frm/thread/cc88ca26352bc604?hl=en#

When called via a namespace-qualified symbol and given three or more arguments, -?> gives the error:

user=> (clojure.contrib.core/-?> 1 inc inc)
CompilerException java.lang.Exception: Unable to resolve symbol: -?>
in this context, compiling:(NO_SOURCE_PATH:3)



 Comments   
Comment by Alan Malloy [ 07/Dec/10 11:27 PM ]

Root cause is in clojure.contrib.core/defnilsafe, so similar functions like .?. will have the same problem. I futzed around for a while to try and figure it out, but defnilsafe is a little too meta for me. The problem is, predictably enough once you've glanced at the code, with ~'~nil-safe-name.

The general solution ought to look like
(let [qname (symbol (name (ns-name *ns*)) (str nil-safe-name))]
`(existing body...
(more stuff using ~qname instead of ~'~nil-safe-name...)))

But I couldn't make it quite work.

Comment by Laurent Petit [ 08/Dec/10 2:14 AM ]

Patch added.

Simple patch where I specifically use fully qualified names when calling defnilsafe.

Comment by Alan Malloy [ 09/Jan/11 4:23 AM ]

What about this patch instead? It makes sure to resolve the symbols supplied to defnilsafe while still within the c.c.core namespace.

I also made the arglists a bit less ugly.





[CONTRIB-83] clojure.contrib.shell broken with clojure commit 37d8f7a Created: 12/May/10  Updated: 08/Jan/11

Status: Open
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect Priority: Minor
Reporter: Assembla Importer Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None


 Description   

clojure.core/byte was modified a couple weeks ago as follows:

(defn byte
"Coerce to byte"
{:tag Byte
:inline (fn [x] `(. clojure.lang.RT (byteCast ~x)))}

  • [^Number x] (. x (byteValue)))
    + [^Number x] (clojure.lang.RT/byteCast x))

byteValue and byteCast behave differently with values outside the
range of byte values:
user=> (. 255 (byteValue))
-1
user=> (clojure.lang.RT/byteCast 255)
java.lang.IllegalArgumentException: Value out of range for byte: 255
(NO_SOURCE_FILE:0)

The new version breaks clojure.contrib.shell/sh's :out :bytes mode (mapping byte over values returned by InputStream.read in shell.clj, line 125).
Perhaps have sh use #(.byteValue %) instead of byte? (untested)



 Comments   
Comment by Assembla Importer [ 24/Aug/10 11:01 AM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/83

Comment by Allen Rohner [ 08/Jan/11 1:58 PM ]

I've tested that using #(.byteValue %) rather than byte? fixes the problem.





[CONTRIB-108] c.c.pprint pprint-logical-block macro using private var Created: 05/May/11  Updated: 05/May/11

Status: Open
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect Priority: Minor
Reporter: Nevena Vidojevic Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None


 Description   

pprint-logical-block macro can't be used from the outside:
java.lang.IllegalStateException: var: clojure.contrib.pprint/current-level is not public






[CONTRIB-103] type hinting for clojure.contrib.condition Created: 22/Nov/10  Updated: 27/Dec/10

Status: Open
Project: Clojure-Contrib
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Enhancement Priority: Trivial
Reporter: Ben Mabey Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None

Attachments: Text File 0001-adds-type-hinting-to-Condition.patch    
Patch: Code
Approval: Vetted

 Description   

I ran into the situation where reflection in clojure.contrib.condition was taking up much more time than I would have liked it too. I added the needed type hints to avoid reflection and the changes have solved the problem for me.

I've attached the patch. It is also available on github if you prefer:

https://github.com/bmabey/clojure-contrib/commit/acf0017e4b8c4259a03fba03a90050b0e9cb0890






Generated at Wed Aug 20 05:51:40 CDT 2014 using JIRA 4.4#649-r158309.