run-tests: add a --compiler option
Without this option, it is not possible to run the test suite on Windows
using mingw's gcc as the compiler.
run-tests: make build command line less intimidating
Use a dict for parameters to the format string, instead of a
ridiculous number of positional parameters.
hooks: be even more forgiven of non-fd descriptors (
issue3711)
Looks like there are instances where sys.stdout/stderr contain file
handles that are invalid. We should be tolerant of this for hook I/O
redirection, as our primary concern is not garbling our own output stream.
hooks: delay I/O redirection until we actually run a hook (
issue3711)
We were attempting to redirect I/O even if no hook was actually
getting called. This defers redirection until we've found something to
do.
util: make chunkbuffer non-quadratic on Windows
The old str-based += collector performed very nicely on Linux, but
turns out to be quadratically expensive on Windows, causing
chunkbuffer to dominate in profiles.
This list-based version has been measured to significantly improve
performance with large chunks on Windows, with negligible overall
overhead on Linux (though microbenchmarks show it to be about 50% slower).
This may increase memory overhead where += didn't behave quadratically. If we
want to gather up 1G of data to join, we temporarily have 1G in our
list and 1G in our string.
revset: backed out changeset
54cedee86e51
This was causing clones of the hg repo to go from 12.4s to 14.7s.
hgk: specify some colours explicitly in hex
Tk 8.6b3 uses web colours, where green is defined as #008000, not #00ff00, and grey
is #c0c0c0, not #808080, so specify those colours explicitly.
hgk: no committer please
Generate committer only if we really have it.
Update test-hgk.t accordingly.
hgk: use Ttk instead of plain Tk
Use Ttk (themed Tk) for most of the widgets. Default to xpnative theme on
Windows, clam otherwise.
Provide a shim for Tk 8.4 without Tile/Ttk.