-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathChangeLog-2.4.0-HEAD
More file actions
411 lines (282 loc) · 14.9 KB
/
ChangeLog-2.4.0-HEAD
File metadata and controls
411 lines (282 loc) · 14.9 KB
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
2024-10-08 Gustaf Neumann <neumann@wu-wien.ac.at>
* serializer.tcl: Reduce verbosity [2b4b817c]
2024-10-08 Stefan Sobernig <stefan.sobernig@wu.ac.at>
* doc/Announce2.5.0: Adding to announcement: 2.5.0 and 25th
anniversary [b27afbdc]
2024-10-06 Gustaf Neumann <neumann@wu-wien.ac.at>
* ChangeLog-2.0.0-2.1.0.log, ChangeLog-2.4.0-HEAD: Improved
spelling [87ba4a57]
* xotcl2.tcl, Httpd.xotcl, Mime.xotclTcl 9 fix: fixed handling of
leading "~" in file paths. In the Unix shell tradition, leading
"~" in file paths denotes to the home directory. In Tcl9, we have
to use [file home] instead.
[d861f735]
2024-10-06 Gustaf Neumann <neumann@wu-wien.ac.at>
* nx.tcl: Added method nx::Object->"info consts" A "const" is a
variable that cannot be altered later. So far, such constant
variables have to be created via the Tcl 9 "const" cmd, like in the
example below. The introspection method "/obj/ info consts" is
very similar to "/obj/ info vars", but it lists only unmodifiable
variables. [0ca02a31]
2024-10-06 Gustaf Neumann <neumann@wu-wien.ac.at>
* tutorial2.html: Fixed typo (space was missing)
[f56a27fa]
* nsf.c (ParamFreeInternalRep): Re-establish sanity check
[be661e5a]
* nsf.c, nsfObj.c: minor cleanup of debug and log messages
[27f3f462]
2024-10-04 Gustaf Neumann <neumann@wu-wien.ac.at>
* nsf.c (ExitHandler): Improved warning message, when Tcl command
"::history" is not defined [6862550e]
* nsf.c: Updated year in comment [15dbd946]
2024-10-04 Gustaf Neumann <neumann@wu-wien.ac.at>
* nsfInt.h: Fix for otherwise false positive in memcount
statistics. Before, we saw messages like the following
accompanied with wrong memcount statistics, when running
library/xotcl/tests/testo.xotcl [7ce64a20]
******** MEM COUNT ALERT: Trying to free 0x14f91fc10 <Tcl_Obj* *>,
but was not allocated
2024-10-04 Gustaf Neumann <neumann@wu-wien.ac.at>
* parameters.test: improved decoupling of test cases [59dadd01]
2024-10-04 Stefan Sobernig <stefan.sobernig@wu.ac.at>
* doc/Announce2.4.1, ChangeLog-2.4.0-HEAD: Add Announce2.4.1 and
ChangeLog-2.4.0-HEAD drafts [deebac4d]
2024-10-03 Stefan Sobernig <stefan.sobernig@wu.ac.at>
* nsf.c (NsfParamWrapper, ParamDupInteralRep): Tcl 9 reform:
Refcounting nsfParam intrep was simplified and fixed by removing
the canFree flag, now relying purely on the refcounts. This fixes
a memory leak when a Tcl_Obj holding an nsfParam intrep gets
duplicated. [0361c4b0]
2024-10-03 Gustaf Neumann <neumann@wu-wien.ac.at>
* nsfObj.c (MethodFreeInternalRep): Added casts to debug output
[5ee4c3c7]
* nsf.c, nsf.h (CompiledColonLocalsLookupBuildCache): Make
handling of colonLocalVarCache more type-safe Since the usual
macro TCL_SIZE_T does not work together with the macros for the
memcount macros, a new typedef "Nsf_Tcl_Size_t" was
introduced. Using a typedef is better and eases maintenance. The
new typedef has a "Nsf_" prefix, since it is defined in nsf.h.
[64ee56cd]
* nx.tcl: Address leak of NsfMethodContext with Tcl 9. This is not
a fully satisfying fix, since it just fixes the symptom, not the
cause. Also the old variant is supposed to run free of this
issue. However, we are talking here about a single Tcl_Obj inside
the NX object system, so the harm is very limited. More details in
the ticket. [3dcb0fb1]
* Makefile.in: Removed mostly obsolete hint on AOLServer [1c2a0be9]
* nsf.c (NsfProcDeleteProc): Fix memcounting by adjusting type
spec, otherwise leading to a wrong false positive on memcount
tests [0922b668]
2024-09-27 Gustaf Neumann <neumann@wu-wien.ac.at>
* nsf.c (Nsf_Init): Tcl 9 reform: One needs 'Tcl_InitStubs(interp,
"8.5-",...)' instead of 'Tcl_InitStubs(interp, "8.5",...)', since
the semantics are seemingly the same as in "package require
...". [3ba8209e]
Without this change, we see in the NaviServer regression test the
following error message:
version conflict for package "tcl": have 9.0.0, need 8.5
while executing
"load {} Nsf"
invoked from within
"ns_ictl update"
(procedure "ns_cleanup" line 8)
invoked from within
2024-07-14 Stefan Sobernig <stefan.sobernig@wu.ac.at>
* win/rules.vc: Tcl 9 reform: Tcl does not add a version infix to
the stub library name [7fd955bd]
2024-07-11 Stefan Sobernig <stefan.sobernig@wu.ac.at>
* appveyor.yml: Fix appveyor build descriptor [3702c134]
2024-06-26 Gustaf Neumann <neumann@wu-wien.ac.at>
* nsf.c, nsf.h: Fix for transitional bug due to NS_TCL_HAVE_TIP629
Deactivating NS_TCL_HAVE_TIP629, since this needs more work to
deal with the two different types of commands (before and after
the TIP) [19220221]
* When we activate NS_TCL_HAVE_TIP629 (TIP supporting > 2^31
* elements in object vectors), Tcl defines different objProcs
* (Tcl_ObjCmdProc and Tcl_ObjCmdProc2) where the usage of these
* depends on a cmdWrapperProc. Unfortunately, the resolving of
* these are performed via CmdWrapperInfo, which is not exported. We
* have to think how to resolve these to make this working as with
* prior Tcl versions.
2024-06-19 Gustaf Neumann <neumann@wu-wien.ac.at>
removed debugging output for NS_TCL_HAVE_TIP629
[6a3286e8]
2024-06-19 Stefan Sobernig <stefan.sobernig@wu.ac.at>
* nsf.h: Remove leftover in header file [6baa11e7]
2024-06-18 Gustaf Neumann <neumann@wu-wien.ac.at>
* nsf.c, nsf.h: Tcl 9 reform: Improved cleanness of compilation [083692dd]
2024-05-03 Gustaf Neumann <neumann@wu-wien.ac.at>
* nsf.c, nsf.h: Tcl 9 reform: Improved cleanness of compilation [a9ab0550]
2024-02-11 Gustaf Neumann <neumann@wu-wien.ac.at>
* rosetta-unknown-method.tcl: Improved spelling [e34b17e5]
* nx.tcl: Fixed misleading name of variable [285f60aa]
2024-02-11 Gustaf Neumann <neumann@wu-wien.ac.at>
* nx.tcl: Fixed handling of invalid parameter specs
This bug was occurring e.g. with an invalid parameter spec as in
:property {fiscalyear:integer, required}
where an additional space was introduced. The bug was reported by
Maksym Zinchenko on the xotcl mailing list (many thanks for that!)
and lead to an attempt of adding an empty parameter option.
Now, an error is generated in this case. [32fd4c6b]
2024-01-20 Gustaf Neumann <neumann@wu-wien.ac.at>
* nsf.c: Improved comment [f2bfddf1]
2024-01-16 Gustaf Neumann <neumann@wu-wien.ac.at>
* nsf.c, nx.tcl, Access.xotcl: improved spelling [3234688f]
* nsf.c, testx.xotcl: Fix potential crash and swallowed error.
The change fixes 2 bugs:
- When a non-existing method was called in a situation where
* a filter with guards is registered, and
* all guards are failing, and
* the method to be called after the filter does not exist
nsf was crashing
- There was no code to produce the proper error message in such
situations [91e563ce]
2023-12-05 Gustaf Neumann <neumann@wu-wien.ac.at>
* nsf.c, tests/*.test: Improved spelling [43373d98]
* langRef.xotcl: Fix typo [c5416441]
* testo.xotcl: Tcl 9 reform: TIP 673 removed "trace variable",
which was deprecated since the release of Tcl 8.4. However, since
Tcl does not warn about deprecations, so it was not detected until
TIP #673 removed the command for Tcl9. [c2980f95] Whitespace
changes [5f06502c]
2023-11-30 Gustaf Neumann <neumann@wu-wien.ac.at>
* nsf.c: nsf:parseargs: honor "required" settings. The previous
version was accepting e.g.:
nsf::parseargs -asdict {
{-state:wordchar,required}
{-revision_id:integer,required}
{-return_url:localurl "."}
} {}
i.e. passing empty argument list where the first two arguments are required.
Now, the error is flagged properly [ef60fd6e]
2023-11-17 Gustaf Neumann <neumann@wu-wien.ac.at>
* nsf.c, nsfProfile.c: Tcl 9 reform: Provide clean compilation for current Tcl 9
[7c55d2af]
2023-11-14 Gustaf Neumann <neumann@wu-wien.ac.at>
* nsf.h: Tcl 9 reform: reflect type change of Tcl TIP 666 (use
Tcl_Size for object count in TIP 627) [a24fe86a]
2023-09-09 Gustaf Neumann <neumann@wu-wien.ac.at>
* mongoAPI.h, nsfmongo.c (mongo::oid::gettimestamp): New API call
to obtain creation timestamp from OID [7fd68223]
2023-09-03 Gustaf Neumann <neumann@wu-wien.ac.at>
* nx.tcl, accessor.test: Whitespace cleanup [bdae7a1f]
2023-08-23 Stefan Sobernig <stefan.sobernig@wu.ac.at>
* accessor.test: Added tests to document the behaviour for
internally generated per-slot accessor methods
* nx.tcl (VariableSlot), properties.test: Make sure that calling
delete on a single-valued property/ variable errors out, like
calling add * nx.tcl (defineIncrementalOperations): Rewrite to
avoid repetitive computations
* nx.tcl: First take on fixing definition of incremental slot
operations, in presence of custom provided ones
(esp. value=delete) [83355de2]
2023-06-12 Stefan Sobernig <stefan.sobernig@wu.ac.at>
* nx.tcl: Make sure to return "switch" for object parameters via
info-introspection. Added some tests. [65d13b7b]
2023-06-10 Gustaf Neumann <neumann@wu-wien.ac.at>
* nsf.c: Provided a Tcl_DupInternalRepProc() function for
Tcl_ObjType "nsfParam" Recent versions of Tcl9 call
Tcl_DupInternalRepProc() for Tcl_ObjType "nsfParam", which was a
placeholder function before, leading to a Tcl_Abort(). The
provided implementation provides now a basic logic for "duplicating"
internal representations of parameter lists based on refcounts
(somewhat similar to ProcBodyDup), but it has to be tested
further, with a proper test case.
The call of the Tcl_DupInternalRepProc function happens so far during
the startup of NaviServer compiled with Tcl9. It might be necessary to
overthink the competing logics of the "canFree" member and the
reference count. For now, the intention is to get the NaviServer +
Tcl9 regression test stop from aborting [d7a71fbd]
2023-04-19 Gustaf Neumann <neumann@wu-wien.ac.at>
* nsf.c, nsf.h, nsfInt.h: Cleanup after TIP 660 [6f3bbd8f]
2023-04-18 Stefan Sobernig <stefan.sobernig@wu.ac.at>
* appveyor.yml: Force use of SCP in newer OpenSSH > 9 releases,
otherwise defaulting to SFTP [cf765c0d]
2023-04-16 Gustaf Neumann <neumann@wu-wien.ac.at>
* nsf.c, nsfCmdPtr.c, nsfObj.c: Fixed warnings detected with
branch "disabletcl8api" The Tcl9 native interface is based on
"Tcl_Size" instead of "int", but the default mode hides these
differences via some macro-magic. Typical such cases are API calls
like:
Tcl_ListObjLength(interp, methodObj, &length);
Tcl_ListObjGetElements(interp, methodObj, &oc, &ov)
The macro-magic queries the size of the provided parameters and uses
the old or new interface depending on it (while hiding some more
potential problems, a compiler can detect). The branch
"disabletcl8api" removes the macro-magic and reveals the potential
problem areas, where the code is still depending on the old 32bit
interface.
This commit fixes such cases and the collateral damage. [10f06c20]
2023-04-16 Gustaf Neumann <neumann@wu-wien.ac.at>
* nsf.h: Tcl 9 reform: Deactivate support of TIP 629 for the time being When
NS_TCL_HAVE_TIP629 (TIP supporting > 2^31 elements in object
vectors) is activated, Tcl defines different objProcs
(Tcl_ObjCmdProc and Tcl_ObjCmdProc2) for the old and new API,
where the usage of these depends on a
cmdWrapperProc. Unfortunately, the resolving of these API calls is
performed through the wrapper via CmdWrapperInfo, which is not
exported. We have to think how to resolve these to make this
working as with prior Tcl versions. [4b2efda0]
* Makefile.in: Added missing dependency for forcing recompilation
[818bfb7f]
2023-04-16 Gustaf Neumann <neumann@wu-wien.ac.at>
* nsf.c, nsfAPI.h, mongoAPI.h: Tcl 9 reform: Provide support for
TIP 627 (Tcl 8.7a6+ and Tcl 9) TIP 627 introduces support for >
2^31 elements in object vectors (e.g., number of words in a single
Tcl command). For details, see https://core.tcl-lang.org/tips/doc/trunk/tip/627.md
To provide also backwards compatibility, this change uses the
macros TCL_COMMAND_OBJPROC, TCL_CREATEOBJCOMMAND,
TCL_NRCALLOBJPROC, TCL_NRCREATECOMMAND, TCL_OBJCMDPROC_T, and
TCL_OBJC_T. [745c46b4]
2023-04-15 Gustaf Neumann <neumann@wu-wien.ac.at>
* nsf.c: Updated copyright notice [d9d5b503]
2023-03-16 Gustaf Neumann <neumann@wu-wien.ac.at>
* Script.xotcl: changed file encoding to UTF-8 to improve
robustness in various Tcl9 variants (e.g. TIP 657) [6f1b0bd8]
2023-01-03 Gustaf Neumann <neumann@wu-wien.ac.at>
* nx-zip.tcl (returnZipFile): Added optional parameter channel to
returnZipFile to ease usage in the background Many thanks to
Antonio Pisano for the suggestion! [7dbbd336]
2022-12-19 Gustaf Neumann <neumann@wu-wien.ac.at>
* asmAssembleTemplate.c, nsfAsmAssemble.c, nsf.c, secure-webserver.xotcl, trace.xotcl, tests/*.test: improve spelling [3e1001ff]
2022-12-19 Gustaf Neumann <neumann@wu-wien.ac.at>
* nsf.c, nsf-cmd.test, returns.test: Added support
for return value checker for nsf::proc One can now specify
"-returns ...." in nsf::proc commands the same way as in nx/XOTcl2
methods.
nsf::proc ... /procName/ /arguments/ ?-returns /valueconstraint/? /body/
When return value checkers are defined, these are returned by the
usual introspection interface.
% nsf::proc ::foo {-a:integer} -returns integer {return 1}
% nsf::cmd::info definition ::foo
::nsf::proc ::foo -a:integer -returns integer {return 1}
% nsf::cmd::info returns ::foo
integer
The regression test was extended to cover these cases. [b44ba341]
2022-12-19 Gustaf Neumann <neumann@wu-wien.ac.at>
* nx-shell.tcl, nx-zip.tcl, serializer.tcl, doc/*.man: Improved
spelling [84277b25,da2688b9]
2022-12-17 Gustaf Neumann <neumann@wu-wien.ac.at>
* doc/next-tutorial/value-checkers*: Fixed omission of checkers in
graphic [f308a675]
* nsfCompile.c, nsfAssemble.c, asmAssembleTemplate.c, nsfAsmAssemble.c, asmAssembleTemplate.c: Tcl 9 reform (cont'd) [fcfefac7]
* nsf.c (Nsf_ConvertToTclObjType), returns.test: Fix bug, where
Tcl's "string is" checker modified result, when used as a return
value checker. The new code saves and restores the original result
value. The regression test was extended. Many thanks to Antonio
Pisano for pointing out this issue. [07564105]
2022-11-22 Gustaf Neumann <neumann@wu-wien.ac.at>
* nsfInt.h (CHARTYPE): generalize handling of "is <type>" calls by
defining CHARTTYPE. The macro was developed earlier on
NaviServer, and is used in nsf for "upper", "space" and "alpha"
character checkers [f0bca18a]
* nsf.c, nsfObj.c (TCL_OBJTYPE_V0): Tcl 9 reform: Provide an
initializer for the new size_t field of Tcl_ObjType [a2f1d967]
* nsfCompile.c: Tcl 9 reform: Avoid macro TCL_OUT_LINE_COMPILE (many thanks to Jan Nijtmans) [30e90f77]
2022-09-29 Gustaf Neumann <neumann@wu-wien.ac.at>
* nx-zip.tcl (flushBuffer): In NaviServer mode, flush buffers
after every file. This avoid potential interger overruns in Tcl,
when sending many large files over slow lines. [94dce307]
2022-08-15 Stefan Sobernig <stefan.sobernig@wu.ac.at>
* README.release: Clarify how to produce HTML documentation for
sourceforge.io [a7fcb6d4]