Clojure

Unable to set compiler options via system properties except for AOT compilation

Details

  • Type: Defect Defect
  • Status: Open Open
  • Priority: Major Major
  • Resolution: Unresolved
  • Affects Version/s: Release 1.5
  • Fix Version/s: Release 1.7
  • Component/s: None
  • Labels:
  • Patch:
    Code
  • Approval:
    Vetted

Description

The code that converts JVM system properties into keys under the *compiler-options* var is present only inside the clojure.lang.Compile class. This is a problem when using a debugger inside an IDE and not AOT compiling; specifying -Dclojure.compiler.disable-locals-clearing=true has no effect here when it would be most useful!

Activity

Hide
Howard Lewis Ship added a comment -

Obviously, that's supposed to be *compiler-options*.

Show
Howard Lewis Ship added a comment - Obviously, that's supposed to be *compiler-options*.
Alex Miller made changes -
Field Original Value New Value
Description The code that converts JVM system properties into keys under the *compiler-options* var is present only inside the clojure.lang.Compile class. This is a problem when using a debugger inside an IDE and not AOT compiling; specifying {{-Dclojure.compiler.disable-locals-clearing=true}} has no effect here when it would be most useful!

The code that converts JVM system properties into keys under the \*compiler-options\* var is present only inside the clojure.lang.Compile class. This is a problem when using a debugger inside an IDE and not AOT compiling; specifying {{-Dclojure.compiler.disable-locals-clearing=true}} has no effect here when it would be most useful!

Hide
Howard Lewis Ship added a comment - - edited

Changes initialization of *compiler-options* to occur statically inside Compiler; now available to all forms of Clojure, not just AOT compilation; however, the initial *compiler-options* value is now defined as a root binding, rather than a per-thread binding, which has slightly different semantics.

Show
Howard Lewis Ship added a comment - - edited Changes initialization of *compiler-options* to occur statically inside Compiler; now available to all forms of Clojure, not just AOT compilation; however, the initial *compiler-options* value is now defined as a root binding, rather than a per-thread binding, which has slightly different semantics.
Howard Lewis Ship made changes -
Attachment CLJ-1274.patch [ 12502 ]
Alex Miller made changes -
Approval Triaged [ 10120 ]
Andy Fingerhut made changes -
Patch Code [ 10001 ]
Alex Miller made changes -
Priority Minor [ 4 ] Major [ 3 ]
Rich Hickey made changes -
Fix Version/s Release 1.7 [ 10250 ]
Approval Triaged [ 10120 ] Vetted [ 10003 ]

People

Vote (3)
Watch (0)

Dates

  • Created:
    Updated: