210 |
210 |
211 if usepager: |
211 if usepager: |
212 ui.setconfig('ui', 'formatted', ui.formatted(), 'pager') |
212 ui.setconfig('ui', 'formatted', ui.formatted(), 'pager') |
213 ui.setconfig('ui', 'interactive', False, 'pager') |
213 ui.setconfig('ui', 'interactive', False, 'pager') |
214 return p |
214 return p |
215 |
|
216 _envvarre = re.compile(r'\$[a-zA-Z_]+') |
|
217 |
|
218 def _clearenvaliases(cmdtable): |
|
219 """Remove stale command aliases referencing env vars; variable expansion |
|
220 is done at dispatch.addaliases()""" |
|
221 for name, tab in cmdtable.items(): |
|
222 cmddef = tab[0] |
|
223 if (isinstance(cmddef, dispatch.cmdalias) and |
|
224 not cmddef.definition.startswith('!') and # shell alias |
|
225 _envvarre.search(cmddef.definition)): |
|
226 del cmdtable[name] |
|
227 |
215 |
228 def _newchgui(srcui, csystem): |
216 def _newchgui(srcui, csystem): |
229 class chgui(srcui.__class__): |
217 class chgui(srcui.__class__): |
230 def __init__(self, src=None): |
218 def __init__(self, src=None): |
231 super(chgui, self).__init__(src) |
219 super(chgui, self).__init__(src) |
523 except ValueError: |
511 except ValueError: |
524 raise ValueError('unexpected value in setenv request') |
512 raise ValueError('unexpected value in setenv request') |
525 _log('setenv: %r\n' % sorted(newenv.keys())) |
513 _log('setenv: %r\n' % sorted(newenv.keys())) |
526 os.environ.clear() |
514 os.environ.clear() |
527 os.environ.update(newenv) |
515 os.environ.update(newenv) |
528 _clearenvaliases(commands.table) |
|
529 |
516 |
530 capabilities = commandserver.server.capabilities.copy() |
517 capabilities = commandserver.server.capabilities.copy() |
531 capabilities.update({'attachio': attachio, |
518 capabilities.update({'attachio': attachio, |
532 'chdir': chdir, |
519 'chdir': chdir, |
533 'getpager': getpager, |
520 'getpager': getpager, |