Skip to content
Snippets Groups Projects
user avatar
Jun Wu authored
Before this patch, we don't have a safe way to undo a wrapfunction because
other extensions may wrap the same function and calling setattr will undo
them accidentally.

This patch adds an "unwrapfunction" to address the issue. It removes the
wrapper from the wrapper chain, and re-wraps everything, which is not the
most efficient but short and easy to understand. We can revisit the code
if we have perf issues with long chains.

The "undo" feature is useful in cases like wrapping a function just in a
scope. Like, having a "select" command to interactively (using arrow keys)
select content from some output (ex. smartlog). It could wrap "ui.label" to
extract interesting texts just in the "select" command.
19578bb8
History
Name Last commit Last update
contrib
doc
hgext
hgext3rd
i18n
mercurial
tests
.editorconfig
.hgignore
.hgsigs
.hgtags
CONTRIBUTORS
COPYING
Makefile
README
hg
hgeditor
hgweb.cgi
setup.py
setup_osutil_cffi.py