Operator redefinition && system libraries

UPDATE: it seems it has nothing to do with version, but with specific system.

9.1.18 works fine at one laptop and produces errors on another.

I’ve redefined :/2 priority in user module. It was’t a problem in 9.1.18, everything worked just fine.

There is a statement in documentation: “Files that are loaded from the SWI-Prolog directories resolve operators and predicates from this system module rather than user, which makes the semantics of the library and development system modules independent of operator changes to the user module.”

It seems that it worked in 9.1.18.

But when I’ve switched to 9.2.9, I’ve started experiencing errors when swipl-win tried to autoload some libraries. They became broken because of my :/2 op redefinition in user module.

P.S. I know, you will say it is silly to redefine :/2, but it worked really well for me until it didn’t.

As you give no context on how you define : nor what error results from this, there is very little to say about this. It is a bad idea to redefine operators though :slight_smile: And yes, it should in general not compromise the system itself. It will compromise just about anything else though.