Path: csiph.com!eternal-september.org!feeder.eternal-september.org!mx02.eternal-september.org!.POSTED!not-for-mail From: Paul Rubin Newsgroups: comp.lang.python Subject: Re: Context-aware return Date: Thu, 10 Sep 2015 12:19:59 -0700 Organization: A noiseless patient Spider Lines: 10 Message-ID: <87twr2rsio.fsf@jester.gateway.pace.com> References: <55f1c3c6$0$1659$c3e8da3$5496439d@news.astraweb.com> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: mx02.eternal-september.org; posting-host="3a9ed331cf606b0b072b7def4034f06f"; logging-data="20587"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18DL8KjGOuRGQ/T6SjKykNy" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) Cancel-Lock: sha1:SOEPP6MjruB9Z2SwUUaBRu6tlPQ= sha1:I7p+1ry/3BBoUrrX6Itl1rrnCg8= Xref: csiph.com comp.lang.python:96293 Steven D'Aprano writes: > I want the function to know its own context. > I don't mind if it is CPython only, or if it is a bit expensive. That sounds crazy but if it's really what you want, you can probably fake it by examining the control stack using the backtrace module. I remember doing some hack of raising and catching an exception in order to retrieve the backtrace, but there might be a cleaner way that I didn't bother researching since it was just for a quick debugging problem.