1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
|
This version of zsh is based on 3.1.5 and includes the following
patches.
Old stuff:
Zoli's AIX dynamic loading patch from 3933, slightly updated, without
some hunks which weren't needed on AIX 3.x so I don't know how to
update them properly
My completion widgets patch
Patches which have appeared since 3.1.5 (it's already a week, after
all...):
Bart's addon collection 4473 (excluding the bit from 4105), 4475, 4476
My patch in 4477 to rename three functions to avoid clashes when
dynamic loading (particularly necessary on IRIX and AIX), including
the effect of Sven's additional fix in 4488
Sven's magna opera patch-or 4510 and patch-match 4509 to add control
of alternative matches and arbitrary mapping between characters in the
command line and the matched string, plus all known related fixes
4526, 4527, 4534, 4555, 4557
My patch 4513 for case-insensitive globbing via flags, plus fixlet 4552
My ~PWD patch 4533
My suggestion for fixing the suffix on a yank in 4564
Bart's deltochar patch including new flags to allow commands not to
interrupt cumulative effects in 4570 (new flag merged with compctl
widgets flags).
Bart's doc fix 4574
A fixsuffix() added by hand in delcharorlist() which I've somehow
missed along the way. The fixsuffix() horror is probably not yet
resolved; 4576 has side effects and hasn't been applied.
My latest version of lete2ctl, not posted but available at
http://www.ifh.de/~pws/computing/lete2ctl .
Bart's chpwd() fix 4589
Second edition
Added line in zle_tricky.c missed when patching by hand, spotted by
Bart. (Whitespace is still non-canonical in the completion code where
I have merged patches by hand.)
Fixed up my compctl widgets patch for use with Sven's rewrite, which I
hadn't done properly before.
Bart's function fixes, 4471
Bart's doc fixes, 4472
Bart's PWD and OLDPWD reshuffle, 4589
My test-line-length patch for prompts, 4591 (`%(40l.yes.no)' outputs
`yes' if at least 40 characters have already appeared on the line,
`no' otherwise.)
Configure patch from Wilfredo Sanchez in 4594, with some extra
tabbification and without the setterm() hunk, since I've already renamed
that to zsetterm(), avoiding the conflict
My globbing fix for a bug which shows up in `case' constructs, 4595
Alternative version of the ~PWD patch (allow users to hash PWD
explicitly if that's what turns them on), 4596
Bart's experimental associative array patch, 4598, plus various
additions, 4599, 4602, 4608, 4641, 4653, 4654. No documentation yet;
if you want to play with this, so far:
% typeset -A hash # create associative array $hash
% hash[one]=eins hash[two]=zwei # assign elements
% hash=(one eins two zwei) # same, assign whole array (*)
% print $hash[one] # retrieve elements
eins
% print $hash # whole array looks like normal array
eins zwei
% print ${(k)hash} # flag to get keys
one two
% print ${(kv)hash} # flag to get keys and values (**)
one eins two zwei
Comparison of (*) and (**) will reveal how to copy an associative
array, `hash2=(${(kv}hash})', but you always need to `typeset -A
hash2' first or an ordinary array will appear. There is a predefined
special associative array $testhash, for testing purposes only, which
will eventually disappear.
My rewrite of prompt truncation, 4601 --- note this introduces a
slight incompatibility in that the string to be truncated now runs by
default to the end of the string, instead of only covering individual
%-substitutions. If necessary, stick in an extra '%>>' to turn
truncation off at the point you want.
Bart's params error message fix, 4606
My input fix for 8 bit characters, 4612
Bart's version of the *** fix, 4624
Bart's parameter substitution flag delimiter fix, 4644
My special parameter unset fix, 4662
Third edition
I've taken the plunge and changed $ZSH_VERSION, the current one is now
3.1.5.pws-3 . It seemed rational to have something incremental at the
end for testing, so I abandoned using the date.
4482 (cdmatch2)and 4641 (${assoc[0]}) now applied; 4641 was supposed
to be there before.
nroff manual pages deleted, you now need yodl.
deleted modules-bltin by hand, which `make distclean' somehow missed.
Caused problems when building a statically linked shell.
Bart's scanmatchtable fix, 4674
Commented out vifirstnonblank() in vioperswapcase(), pending any
better patch for it.
Bart's viforwardword fix, 4678
My case-independent globbing fix, 4693
Sven's zle_tricky.c, 4697
Sven's patch to ignore completions if the cursor is not in a part to
be completed, 4698, plus addition, 4707
I have not added Sven's zerr() patch, 4699, in case it has side
effects, but I haven't heard anything on the subject and I haven't
looked at it.
Sven's pennockite heap memory patch, 4700
Sven's condition module patch, 4716, and addition, 4732, and the
function wrapper patch, 4734, and additions, 4742, 4769: the module.c
bits of these have been moved around a little to avoid clashes with
the AIXDYNAMIC stuff. The wrapper stuff is still not finished, but
doesn't currently impinge on use of the shell.
Phil Pennock's patch to use associative arrays in stat, 4727
Unposted fix for use of printcompctlptr in completion widgets:
printcompctl() had acquired another argument.
My bash-like ${foo/orig/new} patch, 4736, and the version to do
shortest matching together with optimizations of all pattern matching
in variable strings, 4754.
Phil's patch for typeset -a docs, 4737
Nobody wanted my fix for `FOO=x eval external', so it's not there.
zftp, 4761
Bart's fix for conddef without dynamical modules, 4762
Bart's associative array patches for implentation of subscripting flags,
4763, plus fix 4766; typeset output 4764
Sven's completion listing fix, 4767
Fourth edition
Compilation fix for static linking, 4779
Phil's patch for wtmp in /var/log on Linux, which someone else sent
before... except it needs to be applied to aczsh.m4 and propagated
from there, 4783
Phil's removal of now useless j in glob.c, 4784
Bart's collection in 4788: put back some missing patches.
Param's patches from Bart in 4789, 4794, 4795: fix sethparam() and move
flags; make sure setsparam() and sethparam() are consistent with
existing parameters; allow assoc array assignment with
${(AA)=assoc::=key1 value1 key2 value2}
Return to not hashing PWD from Bart in 4791
Handle --program-suffix and --program-prefix (but not --target, so I
removed the comment) from Bart in 4792
Compilation with no HAVE_GETPWUID, 4801
INADDR_NONE in zftp, 4805
Sven's unloading modules, 4806, 4815, 4820, plus my AIX (and
DYNAMIC_NAME_CLASH_OK) fix, 4822, then Sven's 4830
Parameter's documentation changes by Bart, 4817
Network order fix for zftp from Sven, 4821
My patch (with Gene Cohler's suggestions) for dynamical loading under
HPUX 10, 4824, plus fixes, 4833, 4843
Bart's random assoc array fixes, 4826, 4836, plus Sven's 4831
Sven's ignored character fix, 4828
More Sven condition patches, 4837, 4842
Final (???) isident() fix from Sven, 4845
pws-5
Name of top level directory is now zsh-3.1.5-pws-5
Missing part of Bart's sethparam() changes, 4851
zftp test subcommand, 4852
Geoff's refresh fix for a line the same length as the terminal width,
4855
Bart's fix for array slices, 4874
Sven's accept-and-menu-complete-fix, 4878
Sven's group completion fix, 4879
Sven's module condition fixes, 4880
Oliver Kiddle's autoconf fix, 4887
My zftp fix (actually due to Andrej Borsenkow) for systems which only
allow dup'ing sockets after they are connected, 4888.
Bart's fix to making setting associative array elements inside
substitutions consistent, 4893
My typeset neatness and -a and -m fix, 4902
My brief Etc/MACHINES addition, 4912
My modification to findcmd() for memory leaks, 4923, plus comment
alteration by Bart, 4924
Sven's patch for completion after various reserved words, 4930
My patch for compiler warnings, 4931
My configuration fix for when tgetent() accepts a null argument but
then tgetstr() dumps core, 4939
Sven's alteration of `-t' behaviour, 4940. This is slightly
incompatible with previous patched versions of 3.1.5 since now you don't
need '-tc' with -T. However, you now do need '-tn' in cases where you
don't want normal completion tried after a -T matches.
Sven's new completion functions, 4850, 4881, 4941, 4942, 4943, 4944,
4946, 4949, 4950, plus my addition of function pointers, 4945. The
example file is now in Misc/new-completion-examples.
(Effect of) fix from Helmut Jarausch in 4947 partly due to change
missed in patch.
pws-6
Sven: fix for completion after redirection, 4957
Bart: add-on, 4965
Andrej: configure patch for Reliant UNIX et al., 5021 (as resubmitted)
Sven: compctl list with a single string, 4974
Sven: compctl -M matches with *'s, 4975, 5007
Sven: compadd and new-completion-examples, 4976
Sven: funky new glob modifiers: change sort order, select
item from list, 4979; make time order work like ls -t, 4987
Sven: fix completion whitespace for copy-previous-word, 4981
Sven: fix for new-style completion after redirection, 4986, 4988
New mirror site ftp://ftp.win.ne.jp/pub/shell/zsh/ in META-FAQ (not
posted)
Andrej: when installing info files, insert zsh.info into dir, 5016
Sven: ${(t)param} flag, 5022, 5045; no unset behaviour, 5078
Phil: zless, 5032, simplified by Bart, 5037, also added a `setopt
localoptions' after spending an hour wondering why nothing worked any
more.
Me: `make install' does not do `make install.info', 5047
Sven: compcall tries old-style completion from new-style function,
compctl -K ' func' handles newstyle completion, 5059; avoid recursion,
5065; my dynamic fix-up, 5085
Sven: inserting completion inside brace expansion, 5060
Sven: extra completion context, 5092
Me: typeset -T MYPATH mypath, 5094, plus fix for MYPATH=(foo),
mypath=foo (and also existing PATH=(foo) bug), 5120
Sven: doc fix for glob qualifiers, 5102
Drazen Kacar, modified by me: workaround for terminal bug on Solaris,
5103; modified by Bart, 5113
Sven: zle and widget information via variables in new completion
functions, 5104
Me: remove old zle -C, zle -C now does new completion, 5105
Sven: glob qualifier o for modes, 5107
Me: fix for unsetting special zle variables, 5111
Drazen Kacar, modified by me: unlock terminal device on Solaris, 5118
(5117 was wrong)
pws-7
Me: patch for zls, 5054 (appeared in pws-6 but not in corresponding
patchlist).
Bart: finally added missing hunk from 4965 which allowed unsetting an
assoc array when it was assigned to as a scalar which should have been
there all along
Bart: vared to edit associative arrays and array elements, 5129
Matt Armstrong: makepro.awk can spit out preprocessor lines, 5132
(+ move init.pro inclusion, 5151)
Matt: cygwin needs to use native getcwd(), 5133
Sven: partial word completion fix, 5144
Sven: compadd -m, -F, -r, 5145, 5204
Bart: unset can unset assoc array elements, 5174
Sven: fix for command completion and pattern completions, 5178
Sven: ${(P)...} 5183, 5199, 5200
Me: compctl documentation tidy-up, 5185, 5198
Sven: zle commands which use the minibuffer erase completion listings,
5201
Sven: glob qualifiers o -> f, O -> o, new O = ^o, 5203
Sven: completion in arrays, 5206
Sven: new completion in conditions, 5207
Sven: ${foo:q}, 5208, preliminary
Sven: use ${foo:q} for quoting prefix and suffix in new completion, 5120
Me: bashautolist option, 5229; Sven's addition, 5234, and doc 5235; 5269
Me: .zlogout doc, 5233
Me: added note on Linux Alpha with egcs to Etc/MACHINES, not posted
Me: typeset -T fix, 5247
Bart: parameter scoping docs, 5258
Bart: new mailing lists in Meta-FAQ, 5260
Sven: GLOB_COMPLETE docs, 5261, 5268
Sven: compctl -M and REC_EXACT fixes, 5262
Sven: rewrite of $foo:q, 5265, +doc, 5284
Sven: get matcher number in new completion function, 5266
Me: interrupts in getquery() weren't gracefully handled, 5281
pws-8
Geoff: no ld -g for NetBSD, 5295
Bart: alter local variables and $argv documentation, 5297
Bart: PWD and OLDPWD export confusion (fixing, not creating), 5299
Bart: trashzle() crashed shell with dynamical loading and zle builtin,
5305
Matt: CHAR(+) -> CHAR(43) in zmacros, 5311
Sven: compctl matcher to use reference counts, 5316
Sven: keys available in zle widget functions, 5320
Me: compctl -LM, 5321
Me: revamped signames.c generation, 5326, 5329, plus Matt fix, 5330
Sweth, Bart, Me: Functions/allopt, basically as in 2121 with the odd
emulate and local.
Me: emulate -L, 5332
Sven: printing of zle condition codes, 5335
Sven: Modularisation of new completion shell code, 5341
Sven: ignoring ignored prefix in new conditions, 5342; related fixes,
5343
Me: patch for completion init and __normal, 5344; Sven fix, 5351
Me: "$foo[@]" didn't remove the argument if $foo wasn't set, 5349;
Bart's fix so this works on OSes other than AIX, 5361
Sven: change fignore handling, 5352
Sven: redisplay of completion lists; remove display when completion
failed, 5354
Sven: compadd -R function for suffix removal, 5355
Me: #key-* completions now allow 0 or more key bindings, 5362
Me: Moved Misc/Completion to Functions/Completion; added some of my own
new-style completions: not posted
Me: 5281 now works, 5364
Me: make dependencies for main.o, Makemod, zshpaths.h, 5365
|