contrib/tcsh_completion
author Manuel Jacob <me@manueljacob.de>
Mon, 11 Jul 2022 01:51:20 +0200
branchstable
changeset 49378 094a5fa3cf52
parent 13515 2616325766e3
permissions -rw-r--r--
procutil: make stream detection in make_line_buffered more correct and strict In make_line_buffered(), we don’t want to wrap the stream if we know that lines get flushed to the underlying raw stream already. Previously, the heuristic was too optimistic. It assumed that any stream which is not an instance of io.BufferedIOBase doesn’t need wrapping. However, there are buffered streams that aren’t instances of io.BufferedIOBase, like Mercurial’s own winstdout. The new logic is different in two ways: First, only for the check, if unwraps any combination of WriteAllWrapper and winstdout. Second, it skips wrapping the stream only if it is an instance of io.RawIOBase (or already wrapped). If it is an instance of io.BufferedIOBase, it gets wrapped. In any other case, the function raises an exception. This ensures that, if an unknown stream is passed or we add another wrapper in the future, we don’t wrap the stream if it’s already line buffered or not wrap the stream if it’s not line buffered. In fact, this was already helpful during development of this change. Without it, I possibly would have forgot that WriteAllWrapper needs to be ignored for the check, leading to unnecessary wrapping if stdout is unbuffered. The alternative would have been to always wrap unknown streams. However, I don’t think that anyone would benefit from being less strict. We can expect streams from the standard library to be subclassing either io.RawIOBase or io.BufferedIOBase, so running Mercurial in the standard way should not regress by this change. Py2exe might replace sys.stdout and sys.stderr, but that currently breaks Mercurial anyway and also these streams don’t claim to be interactive, so this function is not called for them.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1156
1d5996d39c9d Add tcsh_completion to contrib
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
     1
#
1d5996d39c9d Add tcsh_completion to contrib
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
     2
# tcsh completion for Mercurial
1d5996d39c9d Add tcsh_completion to contrib
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
     3
#
1d5996d39c9d Add tcsh_completion to contrib
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
     4
# This file has been auto-generated by tcsh_completion_build.sh for
13515
2616325766e3 contrib: update tcsh_completion for Mercurial 1.8
Gilles Moris <gilles.moris@free.fr>
parents: 11445
diff changeset
     5
# Mercurial Distributed SCM (version 1.7.5+157-8a220ae0b2ba)
1156
1d5996d39c9d Add tcsh_completion to contrib
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
     6
#
1d5996d39c9d Add tcsh_completion to contrib
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
     7
# Copyright (C) 2005 TK Soh.
1d5996d39c9d Add tcsh_completion to contrib
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
     8
#
1d5996d39c9d Add tcsh_completion to contrib
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
     9
# This is free software; you can redistribute it and/or modify it under
1d5996d39c9d Add tcsh_completion to contrib
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
    10
# the terms of the GNU General Public License as published by the Free
1d5996d39c9d Add tcsh_completion to contrib
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
    11
# Software Foundation; either version 2 of the License, or (at your
1308
2073e5a71008 Cleanup of tabs and trailing spaces.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 1264
diff changeset
    12
# option) any later version.
1156
1d5996d39c9d Add tcsh_completion to contrib
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
    13
#
1d5996d39c9d Add tcsh_completion to contrib
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
    14
1d5996d39c9d Add tcsh_completion to contrib
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
    15
complete hg \
1d5996d39c9d Add tcsh_completion to contrib
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
    16
  'n/--cwd/d/' 'n/-R/d/' 'n/--repository/d/' \
1158
4650ec7ef690 Regenerate tcsh_completion after bugfix in generator script
TK Soh <tksoh@freescale.com>
parents: 1156
diff changeset
    17
  'C/-/( -R --repository \
4650ec7ef690 Regenerate tcsh_completion after bugfix in generator script
TK Soh <tksoh@freescale.com>
parents: 1156
diff changeset
    18
    --cwd \
4650ec7ef690 Regenerate tcsh_completion after bugfix in generator script
TK Soh <tksoh@freescale.com>
parents: 1156
diff changeset
    19
    -y --noninteractive \
4650ec7ef690 Regenerate tcsh_completion after bugfix in generator script
TK Soh <tksoh@freescale.com>
parents: 1156
diff changeset
    20
    -q --quiet \
4650ec7ef690 Regenerate tcsh_completion after bugfix in generator script
TK Soh <tksoh@freescale.com>
parents: 1156
diff changeset
    21
    -v --verbose \
7766
2b2548342265 Update tcsh completion scripts with new commands and for new help output.
Gilles Moris <gilles.moris@free.fr>
parents: 1308
diff changeset
    22
    --config \
1158
4650ec7ef690 Regenerate tcsh_completion after bugfix in generator script
TK Soh <tksoh@freescale.com>
parents: 1156
diff changeset
    23
    --debug \
1264
be4a14bfaa9c Generated new tcsh_completion with tcsh_completion_build.sh
Thomas Arendsen Hein <thomas@intevation.de>
parents: 1158
diff changeset
    24
    --debugger \
7766
2b2548342265 Update tcsh completion scripts with new commands and for new help output.
Gilles Moris <gilles.moris@free.fr>
parents: 1308
diff changeset
    25
    --encoding \
2b2548342265 Update tcsh completion scripts with new commands and for new help output.
Gilles Moris <gilles.moris@free.fr>
parents: 1308
diff changeset
    26
    --encodingmode \
1158
4650ec7ef690 Regenerate tcsh_completion after bugfix in generator script
TK Soh <tksoh@freescale.com>
parents: 1156
diff changeset
    27
    --traceback \
4650ec7ef690 Regenerate tcsh_completion after bugfix in generator script
TK Soh <tksoh@freescale.com>
parents: 1156
diff changeset
    28
    --time \
4650ec7ef690 Regenerate tcsh_completion after bugfix in generator script
TK Soh <tksoh@freescale.com>
parents: 1156
diff changeset
    29
    --profile \
4650ec7ef690 Regenerate tcsh_completion after bugfix in generator script
TK Soh <tksoh@freescale.com>
parents: 1156
diff changeset
    30
    --version \
4650ec7ef690 Regenerate tcsh_completion after bugfix in generator script
TK Soh <tksoh@freescale.com>
parents: 1156
diff changeset
    31
    -h --help)/' \
7766
2b2548342265 Update tcsh completion scripts with new commands and for new help output.
Gilles Moris <gilles.moris@free.fr>
parents: 1308
diff changeset
    32
  'p/1/(add addremove annotate blame archive \
13515
2616325766e3 contrib: update tcsh_completion for Mercurial 1.8
Gilles Moris <gilles.moris@free.fr>
parents: 11445
diff changeset
    33
    backout bisect bookmarks branch branches \
2616325766e3 contrib: update tcsh_completion for Mercurial 1.8
Gilles Moris <gilles.moris@free.fr>
parents: 11445
diff changeset
    34
    bundle cat clone commit ci \
2616325766e3 contrib: update tcsh_completion for Mercurial 1.8
Gilles Moris <gilles.moris@free.fr>
parents: 11445
diff changeset
    35
    copy cp debugancestor debugbuilddag debugcheckstate \
2616325766e3 contrib: update tcsh_completion for Mercurial 1.8
Gilles Moris <gilles.moris@free.fr>
parents: 11445
diff changeset
    36
    debugcommands debugcomplete debugdag debugdata debugdate \
2616325766e3 contrib: update tcsh_completion for Mercurial 1.8
Gilles Moris <gilles.moris@free.fr>
parents: 11445
diff changeset
    37
    debugfsinfo debugignore debugindex debugindexdot debuginstall \
2616325766e3 contrib: update tcsh_completion for Mercurial 1.8
Gilles Moris <gilles.moris@free.fr>
parents: 11445
diff changeset
    38
    debugpushkey debugrebuildstate debugrename debugrevspec debugsetparents \
2616325766e3 contrib: update tcsh_completion for Mercurial 1.8
Gilles Moris <gilles.moris@free.fr>
parents: 11445
diff changeset
    39
    debugstate debugsub debugwalk diff export \
2616325766e3 contrib: update tcsh_completion for Mercurial 1.8
Gilles Moris <gilles.moris@free.fr>
parents: 11445
diff changeset
    40
    forget grep heads help identify \
2616325766e3 contrib: update tcsh_completion for Mercurial 1.8
Gilles Moris <gilles.moris@free.fr>
parents: 11445
diff changeset
    41
    id import patch incoming in \
2616325766e3 contrib: update tcsh_completion for Mercurial 1.8
Gilles Moris <gilles.moris@free.fr>
parents: 11445
diff changeset
    42
    init locate log history manifest \
2616325766e3 contrib: update tcsh_completion for Mercurial 1.8
Gilles Moris <gilles.moris@free.fr>
parents: 11445
diff changeset
    43
    merge outgoing out parents paths \
2616325766e3 contrib: update tcsh_completion for Mercurial 1.8
Gilles Moris <gilles.moris@free.fr>
parents: 11445
diff changeset
    44
    pull push recover remove rm \
2616325766e3 contrib: update tcsh_completion for Mercurial 1.8
Gilles Moris <gilles.moris@free.fr>
parents: 11445
diff changeset
    45
    rename move mv resolve revert \
2616325766e3 contrib: update tcsh_completion for Mercurial 1.8
Gilles Moris <gilles.moris@free.fr>
parents: 11445
diff changeset
    46
    rollback root serve showconfig debugconfig \
2616325766e3 contrib: update tcsh_completion for Mercurial 1.8
Gilles Moris <gilles.moris@free.fr>
parents: 11445
diff changeset
    47
    status st summary sum tag \
2616325766e3 contrib: update tcsh_completion for Mercurial 1.8
Gilles Moris <gilles.moris@free.fr>
parents: 11445
diff changeset
    48
    tags tip unbundle update up \
2616325766e3 contrib: update tcsh_completion for Mercurial 1.8
Gilles Moris <gilles.moris@free.fr>
parents: 11445
diff changeset
    49
    checkout co verify version)/'
1156
1d5996d39c9d Add tcsh_completion to contrib
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
    50