Add :redef key for vars to avoid being direct linked

Description

It is useful in some cases to indicate that calls to a var should never be direct linked. That is possible with ^:dynamic but that has additional semantics (and cost). Add a new ^:redef meta for vars that prevents direct invocations but does not have the ^:dynamic semantics.

From CLJ-1845, load was marked dynamic for this reason, now change to redef instead.

Patch: clj-1851.patch (also changes load to be :redef rather than :dynamic)

Environment

None

Status

Assignee

Unassigned

Reporter

Alex Miller

Labels

None

Approval

Ok

Patch

Code

Fix versions

Affects versions

Release 1.8

Priority

Major
Configure