Mercurial > hg
annotate contrib/tcsh_completion @ 45095:8e04607023e5
procutil: ensure that procutil.std{out,err}.write() writes all bytes
Python 3 offers different kind of streams and it’s not guaranteed for all of
them that calling write() writes all bytes.
When Python is started in unbuffered mode, sys.std{out,err}.buffer are
instances of io.FileIO, whose write() can write less bytes for
platform-specific reasons (e.g. Linux has a 0x7ffff000 bytes maximum and could
write less if interrupted by a signal; when writing to Windows consoles, it’s
limited to 32767 bytes to avoid the "not enough space" error). This can lead to
silent loss of data, both when using sys.std{out,err}.buffer (which may in fact
not be a buffered stream) and when using the text streams sys.std{out,err}
(I’ve created a CPython bug report for that:
https://bugs.python.org/issue41221).
Python may fix the problem at some point. For now, we implement our own wrapper
for procutil.std{out,err} that calls the raw stream’s write() method until all
bytes have been written. We don’t use sys.std{out,err} for larger writes, so I
think it’s not worth the effort to patch them.
author | Manuel Jacob <me@manueljacob.de> |
---|---|
date | Fri, 10 Jul 2020 12:27:58 +0200 |
parents | 2616325766e3 |
children |
rev | line source |
---|---|
1156 | 1 # |
2 # tcsh completion for Mercurial | |
3 # | |
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 | 6 # |
7 # Copyright (C) 2005 TK Soh. | |
8 # | |
9 # This is free software; you can redistribute it and/or modify it under | |
10 # the terms of the GNU General Public License as published by the Free | |
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 | 13 # |
14 | |
15 complete hg \ | |
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 | 50 |