mirror of https://github.com/python/cpython
16 KiB
16 KiB
1 | c-api/arg | :ref | PyArg_ParseTuple(args, "O|O:ref", &object, &callback) | |
---|---|---|---|---|
2 | c-api/list | :high | list[low:high] | |
3 | c-api/sequence | :i2 | del o[i1:i2] | |
4 | c-api/sequence | :i2 | o[i1:i2] | |
5 | c-api/unicode | :end | str[start:end] | |
6 | c-api/unicode | :start | unicode[start:start+length] | |
7 | distutils/examples | 267 | ` | This is the description of the ``foobar`` package. |
8 | distutils/setupscript | :: | ||
9 | extending/embedding | :numargs | if(!PyArg_ParseTuple(args, ":numargs")) | |
10 | extending/extending | :myfunction | PyArg_ParseTuple(args, "D:myfunction", &c); | |
11 | extending/extending | :set | if (PyArg_ParseTuple(args, "O:set_callback", &temp)) { | |
12 | extending/newtypes | :call | if (!PyArg_ParseTuple(args, "sss:call", &arg1, &arg2, &arg3)) { | |
13 | extending/windows | :initspam | /export:initspam | |
14 | faq/programming | :chr | >=4.0) or 1+f(xc,yc,x*x-y*y+xc,2.0*x*y+yc,k-1,f):f(xc,yc,x,y,k,f):chr( | |
15 | faq/programming | :: | for x in sequence[::-1]: | |
16 | faq/programming | :reduce | print((lambda Ru,Ro,Iu,Io,IM,Sx,Sy:reduce(lambda x,y:x+y,map(lambda y, | |
17 | faq/programming | :reduce | Sx=Sx,Sy=Sy:reduce(lambda x,y:x+y,map(lambda x,xc=Ru,yc=yc,Ru=Ru,Ro=Ro, | |
18 | faq/windows | :bd8afb90ebf2 | Python 3.3.0 (v3.3.0:bd8afb90ebf2, Sep 29 2012, 10:55:48) [MSC v.1600 32 bit (Intel)] on win32 | |
19 | howto/cporting | :encode | if (!PyArg_ParseTuple(args, "O:encode_object", &myobj)) | |
20 | howto/cporting | :say | if (!PyArg_ParseTuple(args, "U:say_hello", &name)) | |
21 | howto/curses | :black | colors when it activates color mode. They are: 0:black, 1:red, | |
22 | howto/curses | :red | colors when it activates color mode. They are: 0:black, 1:red, | |
23 | howto/curses | :green | 2:green, 3:yellow, 4:blue, 5:magenta, 6:cyan, and 7:white. The | |
24 | howto/curses | :yellow | 2:green, 3:yellow, 4:blue, 5:magenta, 6:cyan, and 7:white. The | |
25 | howto/curses | :blue | 2:green, 3:yellow, 4:blue, 5:magenta, 6:cyan, and 7:white. The | |
26 | howto/curses | :magenta | 2:green, 3:yellow, 4:blue, 5:magenta, 6:cyan, and 7:white. The | |
27 | howto/curses | :cyan | 2:green, 3:yellow, 4:blue, 5:magenta, 6:cyan, and 7:white. The | |
28 | howto/curses | :white | 2:green, 3:yellow, 4:blue, 5:magenta, 6:cyan, and 7:white. The | |
29 | howto/ipaddress | :DB8 | >>> ipaddress.ip_address('2001:DB8::1') | |
30 | howto/ipaddress | :: | >>> ipaddress.ip_address('2001:DB8::1') | |
31 | howto/ipaddress | :db8 | IPv6Address('2001:db8::1') | |
32 | howto/ipaddress | :: | IPv6Address('2001:db8::1') | |
33 | howto/ipaddress | :: | IPv6Address('::1') | |
34 | howto/ipaddress | :db8 | >>> ipaddress.ip_network('2001:db8::0/96') | |
35 | howto/ipaddress | :: | >>> ipaddress.ip_network('2001:db8::0/96') | |
36 | howto/ipaddress | :db8 | IPv6Network('2001:db8::/96') | |
37 | howto/ipaddress | :: | IPv6Network('2001:db8::/96') | |
38 | howto/ipaddress | :db8 | IPv6Network('2001:db8::/128') | |
39 | howto/ipaddress | :: | IPv6Network('2001:db8::/128') | |
40 | howto/ipaddress | :db8 | IPv6Interface('2001:db8::1/96') | |
41 | howto/ipaddress | :: | IPv6Interface('2001:db8::1/96') | |
42 | howto/ipaddress | :db8 | >>> addr6 = ipaddress.ip_address('2001:db8::1') | |
43 | howto/ipaddress | :: | >>> addr6 = ipaddress.ip_address('2001:db8::1') | |
44 | howto/ipaddress | :db8 | >>> host6 = ipaddress.ip_interface('2001:db8::1/96') | |
45 | howto/ipaddress | :: | >>> host6 = ipaddress.ip_interface('2001:db8::1/96') | |
46 | howto/ipaddress | :db8 | >>> net6 = ipaddress.ip_network('2001:db8::0/96') | |
47 | howto/ipaddress | :: | >>> net6 = ipaddress.ip_network('2001:db8::0/96') | |
48 | howto/ipaddress | :ffff | IPv6Address('ffff:ffff:ffff:ffff:ffff:ffff::') | |
49 | howto/ipaddress | :: | IPv6Address('ffff:ffff:ffff:ffff:ffff:ffff::') | |
50 | howto/ipaddress | :: | IPv6Address('::ffff:ffff') | |
51 | howto/ipaddress | :ffff | IPv6Address('::ffff:ffff') | |
52 | howto/ipaddress | :db8 | '2001:db8::/96' | |
53 | howto/ipaddress | :: | '2001:db8::/96' | |
54 | howto/ipaddress | :db8 | >>> ipaddress.ip_interface('2001:db8::1/96') | |
55 | howto/ipaddress | :: | >>> ipaddress.ip_interface('2001:db8::1/96') | |
56 | howto/ipaddress | :db8 | '2001:db8::1' | |
57 | howto/ipaddress | :: | '2001:db8::1' | |
58 | howto/ipaddress | :db8 | IPv6Address('2001:db8::ffff:ffff') | |
59 | howto/ipaddress | :: | IPv6Address('2001:db8::ffff:ffff') | |
60 | howto/ipaddress | :ffff | IPv6Address('2001:db8::ffff:ffff') | |
61 | howto/logging | :And | WARNING:And this, too | |
62 | howto/logging | :And | WARNING:root:And this, too | |
63 | howto/logging | :Doing | INFO:root:Doing something | |
64 | howto/logging | :Finished | INFO:root:Finished | |
65 | howto/logging | :logger | severity:logger name:message | |
66 | howto/logging | :Look | WARNING:root:Look before you leap! | |
67 | howto/logging | :message | severity:logger name:message | |
68 | howto/logging | :root | DEBUG:root:This message should go to the log file | |
69 | howto/logging | :root | INFO:root:Doing something | |
70 | howto/logging | :root | INFO:root:Finished | |
71 | howto/logging | :root | INFO:root:So should this | |
72 | howto/logging | :root | INFO:root:Started | |
73 | howto/logging | :root | WARNING:root:And this, too | |
74 | howto/logging | :root | WARNING:root:Look before you leap! | |
75 | howto/logging | :root | WARNING:root:Watch out! | |
76 | howto/logging | :So | INFO:root:So should this | |
77 | howto/logging | :So | INFO:So should this | |
78 | howto/logging | :Started | INFO:root:Started | |
79 | howto/logging | :This | DEBUG:root:This message should go to the log file | |
80 | howto/logging | :This | DEBUG:This message should appear on the console | |
81 | howto/logging | :Watch | WARNING:root:Watch out! | |
82 | howto/pyporting | :: | Programming Language :: Python :: 2 | |
83 | howto/pyporting | :: | Programming Language :: Python :: 3 | |
84 | howto/regex | :: | ||
85 | howto/regex | :foo | (?:foo) | |
86 | howto/urllib2 | :example | for example "joe@password:example.com" | |
87 | library/audioop | :ipos | # factor = audioop.findfactor(in_test[ipos*2:ipos*2+len(out_test)], | |
88 | library/bisect | 32 | :hi | all(val >= x for val in a[i:hi]) |
89 | library/bisect | 42 | :hi | all(val > x for val in a[i:hi]) |
90 | library/configparser | :home | my_dir: ${Common:home_dir}/twosheds | |
91 | library/configparser | :option | ${section:option} | |
92 | library/configparser | :path | python_dir: ${Frameworks:path}/Python/Versions/${Frameworks:Python} | |
93 | library/configparser | :Python | python_dir: ${Frameworks:path}/Python/Versions/${Frameworks:Python} | |
94 | library/configparser | :system | path: ${Common:system_dir}/Library/Frameworks/ | |
95 | library/datetime | :MM | ||
96 | library/datetime | :SS | ||
97 | library/decimal | :optional | trailneg:optional trailing minus indicator | |
98 | library/difflib | :ahi | a[alo:ahi] | |
99 | library/difflib | :bhi | b[blo:bhi] | |
100 | library/difflib | :i1 | ||
101 | library/difflib | :i2 | ||
102 | library/difflib | :j2 | ||
103 | library/doctest | ` | ``factorial`` from the ``example`` module: | |
104 | library/doctest | ` | The ``example`` module | |
105 | library/doctest | ` | Using ``factorial`` | |
106 | library/exceptions | :err | err.object[err.start:err.end] | |
107 | library/functions | :step | a[start:stop:step] | |
108 | library/functions | :stop | a[start:stop, i] | |
109 | library/functions | :stop | a[start:stop:step] | |
110 | library/http.client | :port | host:port | |
111 | library/http.cookies | ` | !#$%&'*+-.^_`|~: | |
112 | library/imaplib | :MM | "DD-Mmm-YYYY HH:MM:SS | |
113 | library/imaplib | :SS | "DD-Mmm-YYYY HH:MM:SS | |
114 | library/inspect | :int | >>> def foo(a, *, b:int, **kwargs): | |
115 | library/inspect | :int | '(a, *, b:int, **kwargs)' | |
116 | library/inspect | :int | 'b:int' | |
117 | library/ipaddress | :db8 | >>> ipaddress.ip_address('2001:db8::') | |
118 | library/ipaddress | :: | >>> ipaddress.ip_address('2001:db8::') | |
119 | library/ipaddress | :db8 | IPv6Address('2001:db8::') | |
120 | library/ipaddress | :: | IPv6Address('2001:db8::') | |
121 | library/ipaddress | :db8 | >>> ipaddress.IPv6Address('2001:db8::1000') | |
122 | library/ipaddress | :: | >>> ipaddress.IPv6Address('2001:db8::1000') | |
123 | library/ipaddress | :db8 | IPv6Address('2001:db8::1000') | |
124 | library/ipaddress | :: | IPv6Address('2001:db8::1000') | |
125 | library/ipaddress | :: | "::abc:7:def" | |
126 | library/ipaddress | :def | "::abc:7:def" | |
127 | library/ipaddress | :: | ::FFFF/96 | |
128 | library/ipaddress | :: | 2002::/16 | |
129 | library/ipaddress | :: | 2001::/32 | |
130 | library/ipaddress | :: | >>> str(ipaddress.IPv6Address('::1')) | |
131 | library/ipaddress | :: | '::1' | |
132 | library/ipaddress | :ff00 | ffff:ff00:: | |
133 | library/ipaddress | :db00 | 2001:db00::0/24 | |
134 | library/ipaddress | :: | 2001:db00::0/24 | |
135 | library/ipaddress | :db00 | 2001:db00::0/ffff:ff00:: | |
136 | library/ipaddress | :: | 2001:db00::0/ffff:ff00:: | |
137 | library/itertools | :step | elements from seq[start:stop:step] | |
138 | library/itertools | :stop | elements from seq[start:stop:step] | |
139 | library/linecache | :sys | sys:x:3:3:sys:/dev:/bin/sh | |
140 | library/logging.handlers | :port | host:port | |
141 | library/mmap | :i2 | obj[i1:i2] | |
142 | library/multiprocessing | ` | # Add more tasks using `put()` | |
143 | library/multiprocessing | ` | >>> l._callmethod('__getitem__', (20,)) # equiv to `l[20]` | |
144 | library/multiprocessing | ` | >>> l._callmethod('__getslice__', (2, 7)) # equiv to `l[2:7]` | |
145 | library/multiprocessing | :queue | >>> QueueManager.register('get_queue', callable=lambda:queue) | |
146 | library/multiprocessing | ` | # register the Foo class; make `f()` and `g()` accessible via proxy | |
147 | library/multiprocessing | ` | # register the Foo class; make `g()` and `_h()` accessible via proxy | |
148 | library/multiprocessing | ` | # register the generator function baz; use `GeneratorProxy` to make proxies | |
149 | library/nntplib | :bytes | :bytes | |
150 | library/nntplib | :lines | :lines | |
151 | library/optparse | :len | del parser.rargs[:len(value)] | |
152 | library/os.path | :foo | c:foo | |
153 | library/pathlib | :bar | >>> PureWindowsPath('c:/Windows', 'd:bar') | |
154 | library/pathlib | :bar | PureWindowsPath('d:bar') | |
155 | library/pathlib | :Program | >>> PureWindowsPath('c:Program Files/').root | |
156 | library/pathlib | :Program | >>> PureWindowsPath('c:Program Files/').anchor | |
157 | library/pdb | :lineno | filename:lineno | |
158 | library/pickle | :memory | conn = sqlite3.connect(":memory:") | |
159 | library/posix | ` | CFLAGS="`getconf LFS_CFLAGS`" OPT="-g -O2 $CFLAGS" | |
160 | library/pprint | :: | 'Programming Language :: Python :: 2 :: Only'], | |
161 | library/pprint | :: | 'Programming Language :: Python :: 2.6', | |
162 | library/pprint | :: | 'Programming Language :: Python :: 2.7', | |
163 | library/profile | :lineno | filename:lineno(function) | |
164 | library/pyexpat | :elem1 | <py:elem1 /> | |
165 | library/pyexpat | :py | xmlns:py = "http://www.python.org/ns/"> | |
166 | library/smtplib | :port | method must support that as well as a regular host:port | |
167 | library/socket | :: | (10, 1, 6, '', ('2001:888:2000:d::a2', 80, 0, 0))] | |
168 | library/socket | :: | '5aef:2b::8' | |
169 | library/socket | :can | return (can_id, can_dlc, data[:can_dlc]) | |
170 | library/socket | :len | fds.fromstring(cmsg_data[:len(cmsg_data) - (len(cmsg_data) % fds.itemsize)]) | |
171 | library/sqlite3 | :age | cur.execute("select * from people where name_last=:who and age=:age", {"who": who, "age": age}) | |
172 | library/sqlite3 | :memory | ||
173 | library/sqlite3 | :who | cur.execute("select * from people where name_last=:who and age=:age", {"who": who, "age": age}) | |
174 | library/sqlite3 | :path | db = sqlite3.connect('file:path/to/database?mode=ro', uri=True) | |
175 | library/ssl | :My | Organizational Unit Name (eg, section) []:My Group | |
176 | library/ssl | :My | Organization Name (eg, company) [Internet Widgits Pty Ltd]:My Organization, Inc. | |
177 | library/ssl | :myserver | Common Name (eg, YOUR name) []:myserver.mygroup.myorganization.com | |
178 | library/ssl | :MyState | State or Province Name (full name) [Some-State]:MyState | |
179 | library/ssl | :ops | Email Address []:ops@myserver.mygroup.myorganization.com | |
180 | library/ssl | :Some | Locality Name (eg, city) []:Some City | |
181 | library/ssl | :US | Country Name (2 letter code) [AU]:US | |
182 | library/stdtypes | :: | >>> a[::-1].tolist() | |
183 | library/stdtypes | :: | >>> a[::2].tolist() | |
184 | library/stdtypes | :end | s[start:end] | |
185 | library/stdtypes | :: | >>> hash(v[::-2]) == hash(b'abcefg'[::-2]) | |
186 | library/stdtypes | :len | s[len(s):len(s)] | |
187 | library/stdtypes | :: | >>> y = m[::2] | |
188 | library/stdtypes | :: | >>> z = y[::-2] | |
189 | library/subprocess | ` | output=`dmesg | grep hda` | |
190 | library/subprocess | ` | output=`mycmd myarg` | |
191 | library/tarfile | :bz2 | ||
192 | library/tarfile | :compression | filemode[:compression] | |
193 | library/tarfile | :gz | ||
194 | library/tarfile | :xz | 'a:xz' | |
195 | library/tarfile | :xz | 'r:xz' | |
196 | library/tarfile | :xz | 'w:xz' | |
197 | library/time | :mm | ||
198 | library/time | :ss | ||
199 | library/tracemalloc | :limit | for index, stat in enumerate(top_stats[:limit], 1): | |
200 | library/turtle | :: | Example:: | |
201 | library/unittest | 1412 | :foo | self.assertEqual(cm.output, ['INFO:foo:first message', |
202 | library/unittest | 1412 | :first | self.assertEqual(cm.output, ['INFO:foo:first message', |
203 | library/unittest | 1412 | :foo | 'ERROR:foo.bar:second message']) |
204 | library/unittest | 1412 | :second | 'ERROR:foo.bar:second message']) |
205 | library/urllib.request | :close | Connection:close | |
206 | library/urllib.request | :lang | xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">\n\n<head>\n | |
207 | library/urllib.request | :password | "joe:password@python.org" | |
208 | library/uuid | :uuid | urn:uuid:12345678-1234-5678-1234-567812345678 | |
209 | library/venv | :param | :param nodist: If True, setuptools and pip are not installed into the | |
210 | library/venv | :param | :param progress: If setuptools or pip are installed, the progress of the | |
211 | library/venv | :param | :param nopip: If True, pip is not installed into the created | |
212 | library/venv | :param | :param context: The information for the environment creation request | |
213 | library/xmlrpc.client | :pass | http://user:pass@host:port/path | |
214 | library/xmlrpc.client | :pass | user:pass | |
215 | library/xmlrpc.client | :port | http://user:pass@host:port/path | |
216 | license | ` | ``Software''), to deal in the Software without restriction, including | |
217 | license | ` | THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, | |
218 | license | ` | * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND | |
219 | license | ` | THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND | |
220 | license | ` | * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY | |
221 | license | ` | THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND | |
222 | license | :zooko | mailto:zooko@zooko.com | |
223 | reference/expressions | :index | x[index:index] | |
224 | reference/lexical_analysis | ` | $ ? ` | |
225 | reference/lexical_analysis | :fileencoding | # vim:fileencoding=<encoding-name> | |
226 | tutorial/datastructures | :value | It is also possible to delete a key:value | |
227 | tutorial/datastructures | :value | key:value pairs within the braces adds initial key:value pairs | |
228 | tutorial/stdlib2 | :config | logging.warning('Warning:config file %s not found', 'server.conf') | |
229 | tutorial/stdlib2 | :config | WARNING:root:Warning:config file server.conf not found | |
230 | tutorial/stdlib2 | :Critical | CRITICAL:root:Critical error -- shutting down | |
231 | tutorial/stdlib2 | :Error | ERROR:root:Error occurred | |
232 | tutorial/stdlib2 | :root | CRITICAL:root:Critical error -- shutting down | |
233 | tutorial/stdlib2 | :root | ERROR:root:Error occurred | |
234 | tutorial/stdlib2 | :root | WARNING:root:Warning:config file server.conf not found | |
235 | tutorial/stdlib2 | :start | extra = data[start:start+extra_size] | |
236 | tutorial/stdlib2 | :start | fields = struct.unpack('<IIIHH', data[start:start+16]) | |
237 | tutorial/stdlib2 | :start | filename = data[start:start+filenamesize] | |
238 | tutorial/stdlib2 | :Warning | WARNING:root:Warning:config file server.conf not found | |
239 | using/cmdline | :category | action:message:category:module:line | |
240 | using/cmdline | :errorhandler | :errorhandler | |
241 | using/cmdline | :line | action:message:category:module:line | |
242 | using/cmdline | :line | file:line: category: message | |
243 | using/cmdline | :message | action:message:category:module:line | |
244 | using/cmdline | :module | action:message:category:module:line | |
245 | using/unix | :Packaging | http://en.opensuse.org/Portal:Packaging | |
246 | whatsnew/2.0 | 418 | :len | |
247 | whatsnew/2.3 | :: | ||
248 | whatsnew/2.3 | :config | ||
249 | whatsnew/2.3 | :Critical | ||
250 | whatsnew/2.3 | :Error | ||
251 | whatsnew/2.3 | :Problem | ||
252 | whatsnew/2.3 | :root | ||
253 | whatsnew/2.3 | :Warning | ||
254 | whatsnew/2.4 | :: | ||
255 | whatsnew/2.4 | :System | ||
256 | whatsnew/2.5 | :memory | :memory: | |
257 | whatsnew/2.5 | :step | [start:stop:step] | |
258 | whatsnew/2.5 | :stop | [start:stop:step] | |
259 | whatsnew/2.7 | 1619 | :: | ParseResult(scheme='http', netloc='[1080::8:800:200C:417A]', |
260 | whatsnew/2.7 | 1619 | :: | >>> urlparse.urlparse('http://[1080::8:800:200C:417A]/foo') |
261 | whatsnew/2.7 | 735 | :Sunday | '2009:4:Sunday' |
262 | whatsnew/2.7 | 862 | :Cookie | export PYTHONWARNINGS=all,error:::Cookie:0 |
263 | whatsnew/2.7 | 862 | :: | export PYTHONWARNINGS=all,error:::Cookie:0 |
264 | whatsnew/3.2 | :affe | netloc='[dead:beef:cafe:5417:affe:8FA3:deaf:feed]', | |
265 | whatsnew/3.2 | :affe | >>> urllib.parse.urlparse('http://[dead:beef:cafe:5417:affe:8FA3:deaf:feed]/foo/') | |
266 | whatsnew/3.2 | :beef | netloc='[dead:beef:cafe:5417:affe:8FA3:deaf:feed]', | |
267 | whatsnew/3.2 | :beef | >>> urllib.parse.urlparse('http://[dead:beef:cafe:5417:affe:8FA3:deaf:feed]/foo/') | |
268 | whatsnew/3.2 | :cafe | netloc='[dead:beef:cafe:5417:affe:8FA3:deaf:feed]', | |
269 | whatsnew/3.2 | :cafe | >>> urllib.parse.urlparse('http://[dead:beef:cafe:5417:affe:8FA3:deaf:feed]/foo/') | |
270 | whatsnew/3.2 | :deaf | netloc='[dead:beef:cafe:5417:affe:8FA3:deaf:feed]', | |
271 | whatsnew/3.2 | :deaf | >>> urllib.parse.urlparse('http://[dead:beef:cafe:5417:affe:8FA3:deaf:feed]/foo/') | |
272 | whatsnew/3.2 | :directory | ${buildout:directory}/downloads/dist | |
273 | whatsnew/3.2 | :: | $ export PYTHONWARNINGS='ignore::RuntimeWarning::,once::UnicodeWarning::' | |
274 | whatsnew/3.2 | :feed | netloc='[dead:beef:cafe:5417:affe:8FA3:deaf:feed]', | |
275 | whatsnew/3.2 | :feed | >>> urllib.parse.urlparse('http://[dead:beef:cafe:5417:affe:8FA3:deaf:feed]/foo/') | |
276 | whatsnew/3.2 | :gz | >>> with tarfile.open(name='myarchive.tar.gz', mode='w:gz') as tf: | |
277 | whatsnew/3.2 | :location | zope9-location = ${zope9:location} | |
278 | whatsnew/3.2 | :prefix | zope-conf = ${custom:prefix}/etc/zope.conf | |
279 | whatsnew/changelog | :platform | :platform: | |
280 | whatsnew/changelog | :gz | : TarFile opened with external fileobj and "w:gz" mode didn't | |
281 | whatsnew/changelog | :PythonCmd | With Tk < 8.5 _tkinter.c:PythonCmd() raised UnicodeDecodeError, caused | |
282 | whatsnew/changelog | :: | : Fix FTP tests for IPv6, bind to "::1" instead of "localhost". | |
283 | whatsnew/changelog | :: | : Use "127.0.0.1" or "::1" instead of "localhost" as much as | |
284 | whatsnew/changelog | :password | user:password | |
285 | whatsnew/changelog | :gz | w:gz |