One other way to deal with 'context' in Lisp is for example by the ADVICE mechanism or the method combinations (:around, :before, :after, ...) of CLOS.
https://en.wikipedia.org/wiki/Advice_(programming)
> all context managers follow the same protocols
Lisp is an old language with lots of dialects and systems. Thus people had different needs for context management and different facilities available to implement it.