Clone
Gustaf Neumann <neumann@wu-wien.ac.at>
committed
on 10 Jun 23
Provided a Tcl_DupInternalRepProc() function for Tcl_ObjType "nsfParam"
Recent versions of Tcl9 call Tcl_DupInternalRepProc() for Tcl_ObjTyp… Show more
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 "canDelete" member and the

reference count. For now, the intention is to get the NaviServer +

Tcl9 regression test stop from aborting.

Show less

define-incrementals + 2 more
README.release (+1 -1)
4 4   - code:
5 5      * tcl 8.5:
6 6        * configure with --enable-development
7 7          make test
8 8        * configure with --enable-memcount=yes
9 9          make test 2>&1|cat |fgrep Overall
10 10        * configure with --enable-development and activate valgrind in Makefile
11 11          make test 2>&1|cat |fgrep "definitely lost"
12 12          (8.5.11 ok, when every test returns "40 bytes in 2 blocks")
13 13          (8.5.14 ok, when on test reurns "64 bytes in 1 blocks")
14 14        * get rid of non-ansi-c
15 15          make "CFLAGS_DEFAULT=-ansi -pedantic"
16 16          (warnings are ok, errors not)
17 17        * complile with clang
18 18          make "CC=clang"
19 19          make "CC=clang" test
20 20        * run static analysis:
21 21          make cppcheck
22 22          #/opt/local/bin/scan-build-mp-3.8 -enable-checker alpha make
23 23          /opt/local/bin/scan-build-mp-3.8 make
24            /usr/local/src/naviserver% /opt/local/bin/scan-view-mp-3.8 ...
  24          /opt/local/bin/scan-view-mp-3.8 ...
25 25        * run Coverity (7.6.0, requires gcc 4.8):
26 26          (sudo port install gcc48)
27 27          (download Coverity Build Tool from https://scan.coverity.com/download/)
28 28          make clean
29 29          rm -rf cov-int/
30 30          /usr/local/cov-analysis-macosx-7.6.0/bin/cov-build --dir cov-int make CC=gcc-mp-4.8
31 31          tar czvf /tmp/nsf.tgz cov-int
32 32
33 33          curl --form token=jJ1QoqZ2Ksriz6JXtI3aHg \
34 34            --form email=<email> \
35 35            --form file=@/tmp/nsf.tgz \
36 36            --form version="`git describe --tags`" \
37 37            --form description="maintenance checkout" \
38 38              https://scan.coverity.com/builds?project=Next+Scripting+Framework
39 39
40 40
41 41        * configure without --enable-development
42 42          make install
43 43          make install-aol
44 44          test with naviserver/aolserver (xowiki/xowf)