[PATCH 3 of 3] extensions: add unwrapfunction to undo wrapfunction
quark at fb.com
Wed Jul 6 11:47:13 EDT 2016
Sorry for the late reply. This thread gets broken while I was debugging my
email client. I will send a V2.
Excerpts from Yuya Nishihara's message of 2016-07-03 17:11:00 +0900:
> "unwrap" sounds different to me from what this function does. I expected it
> would do unwrapfunction(container, funcname) -> last_wrapper. Any idea?
Good idea. I think it makes sense to let the "wrapper" argument default
to None, and in that case, the last wrapper will be removed.
I will also add a "return".
> I noticed we can't apply unwrapfunction() to wrapped commands even though
> they have _origfunc and _unboundwrapper attributes. But that should be okay
> because wrapcommand() has distinct interface from wrapfunction().
Yes it's because unwrapfunction uses wrapfunction. I think it's fine for
now. If we want to do clean-ups, we can try to share code between
wrapfunciont and wrapcommand, and maybe store extra metadata as attributes
of the wrapped method.
More information about the Mercurial-devel