It's a deliberate design choice that topicalisers are dynamically scoped. We no longer have the lexical $_ confusing things, so the topic itself is now always dynamically scoped too. There is no bug here. (This is also unaffected by the present proposed revision of smartmatch et al.) This ticket should be closed. -zefram