Details
-
Type:
Defect
-
Status:
Closed
-
Priority:
Major
-
Resolution: Completed
-
Affects Version/s: Release 1.3, Release 1.4
-
Fix Version/s: Release 1.5
-
Component/s: None
-
Labels:None
-
Patch:Code
-
Approval:Ok
Description
The 'ns macro is not as dynamic as it could be.
For instance, the following line typed in a repl (ns a)(ns b (:require a)) currently (1.4, 1.3, etc.) fails with an exception because the (:require a) call tries to reach the filesystem for file a.clj or a__init.class.
The attached patch ( dynamic-ns-patch2.diff ) allows a successful call to (ns a) behave the same as a successful call to (require 'a), adding namespace a to the list of loaded-libs.
Discussion on googlegroup's mailing list: http://groups.google.com/group/clojure-dev/browse_thread/thread/fb231e6fab4a5ad
Attachments
Activity
Laurent Petit
made changes -
| Field | Original Value | New Value |
|---|---|---|
| Attachment | dynamic-ns-patch1.diff [ 11724 ] |
Laurent Petit
made changes -
| Description |
The 'ns macro is not as dynamic as it could be.
For instance, the following line typed in a repl (ns a)(ns b (:require a)) currently (1.4, 1.3, etc.) fails with an exception because the (:require a) call tries to reach the filesystem for file a.clj or a__init.class. The attached patch makes a successful call to (ns a) behave the same as a successful call to (require 'a), adding namespace a to the list of *loaded-libs*. Discussion on googlegroup's mailing list: http://groups.google.com/group/clojure-dev/browse_thread/thread/fb231e6fab4a5ad |
The 'ns macro is not as dynamic as it could be.
For instance, the following line typed in a repl (ns a)(ns b (:require a)) currently (1.4, 1.3, etc.) fails with an exception because the (:require a) call tries to reach the filesystem for file a.clj or a__init.class. The attached patch ( dynamic-ns-patch1.diff ) allows a successful call to (ns a) behave the same as a successful call to (require 'a), adding namespace a to the list of *loaded-libs*. Discussion on googlegroup's mailing list: http://groups.google.com/group/clojure-dev/browse_thread/thread/fb231e6fab4a5ad |
Rich Hickey
made changes -
| Approval | Vetted [ 10003 ] | |
| Fix Version/s | Release 1.5 [ 10150 ] |
Laurent Petit
made changes -
| Attachment | dynamic-ns-patch2.diff [ 11725 ] |
Laurent Petit
made changes -
| Description |
The 'ns macro is not as dynamic as it could be.
For instance, the following line typed in a repl (ns a)(ns b (:require a)) currently (1.4, 1.3, etc.) fails with an exception because the (:require a) call tries to reach the filesystem for file a.clj or a__init.class. The attached patch ( dynamic-ns-patch1.diff ) allows a successful call to (ns a) behave the same as a successful call to (require 'a), adding namespace a to the list of *loaded-libs*. Discussion on googlegroup's mailing list: http://groups.google.com/group/clojure-dev/browse_thread/thread/fb231e6fab4a5ad |
The 'ns macro is not as dynamic as it could be.
For instance, the following line typed in a repl (ns a)(ns b (:require a)) currently (1.4, 1.3, etc.) fails with an exception because the (:require a) call tries to reach the filesystem for file a.clj or a__init.class. The attached patch ( dynamic-ns-patch2.diff ) allows a successful call to (ns a) behave the same as a successful call to (require 'a), adding namespace a to the list of *loaded-libs*. Discussion on googlegroup's mailing list: http://groups.google.com/group/clojure-dev/browse_thread/thread/fb231e6fab4a5ad |
Laurent Petit
made changes -
| Attachment | dynamic-ns-patch1.diff [ 11724 ] |
Timothy Baldridge
made changes -
| Assignee | Laurent Petit [ laurentpetit ] | Timothy Baldridge [ halgari ] |
Timothy Baldridge
made changes -
| Approval | Vetted [ 10003 ] | Screened [ 10004 ] |
| Assignee | Timothy Baldridge [ halgari ] |
Rich Hickey
made changes -
| Approval | Screened [ 10004 ] | Ok [ 10007 ] |
Rich Hickey
made changes -
| Resolution | Completed [ 1 ] | |
| Status | Open [ 1 ] | Resolved [ 5 ] |
Stuart Halloway
made changes -
| Status | Resolved [ 5 ] | Closed [ 6 ] |
screeners, please make sure this has tests before passing on