monoblue: port code selection without line numbers from gitweb
This is adapted from
2239626369f5.
It also fixes
issue4790 in monoblue; tab characters now have meaningful width on
the modified pages (file view, file diff, changeset).
ui: avoid mutable default arguments
I almost introduced a bug around this code by accidentally mutating a default
argument. There's no reason for these to exist.
It is OK to not assign {} to environ in ui.system because util.system knows how
to deal with that.
util: avoid mutable default arguments
I almost introduced a bug around this code by accidentally mutating a default
argument. There's no reason for these to exist.
obsstore: delay loading markers from obsstore file
This will allow us to use cached revisions without parsing obsstore.
Because _version isn't determined at __init__, the debugobsconvert command no
longer works correctly. I'll fix it by a separate patch for the evolve
extension.
obsstore: initialize _all markers without using _addmarkers()
The next patch will make _all variable propertycached to avoid costly parsing
of obsstore. This means we can't call _addmarkers() to initialize _all.
Because all cached markers depend on _all, it isn't necessary to update these
caches when _all is initially loaded.