Skip to content

inconsistent declarations of variables as SPECIAL (or SPECVARS) and GLOBAL #580

Open
@masinter

Description

@masinter

looking at another file there's the an example of "PRETTYFLG". It seems like some code treats it as SPECIAL (and binds it) while other code treats it as a globalvar and uses (RESETLST (RESETSAVE PRETTYFLG))

These two usage patterns are inconsistent. I suspect this is a common problem.
If the variable is never bound special, it CAN be treated as a global variable (which is a PUTBASEPTR rather than a Free variable lookup.

My main concern is that the files we have may have been compiled with one set of declarations and we're possibly recompiling with a different set of declarations (e.g., after a GATHER-INFO(ALL).

Metadata

Metadata

Assignees

Labels

bugSomething isn't working (as per documentation)high priority

Type

No type

Projects

Status

No status

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions