summaryrefslogtreecommitdiffstats
path: root/INCOMPATIBILITIES
blob: e49cf9dfc0bd087e553d2112fe75cfd6ca99844a (plain)
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
This file documents the incompatibilities to Tcl8.6 in the published API,
as seen by scripts, tcl.h, tcl.decls and tclInt.decls. Other changes in
tclInt.h are not listed.

GONE FOR GOOD (or so I hope)
-------------

* compile flags USE_TCLALLOC and USE_THREAD_ALLOC are ignored

* Tcl_CallFrame is gone (was in tcl.h!); some CallFrame manips (push, pop)
  are gone from tclInt.decls (more to come)

* allocator API is gone from tclInt.decls: no more obj or stack allocation
  accessible from outside, TclpAlloc and friends are gone too

* There is no more direct evaluation, everything goes through bytecodes
  (except for canonical lists). TCL_EVAL_DIRECT is simply ignored.
  INCOMPLETE: Tcl_Eval is still there ...

* [case]

* parts of the 8.6 NRE public API (most of it will be recreated).
  Tcl_NRCreateCommand is gone for good (may come back for API compat, if
  further breakage does not make the issue moot)


GONE FOR NOW (or so I hope)
------------

* TIP280 and [info frame] do not exist anymore. Some changes in tclInt.decls.
  TIP348 and [info errorstack] are also gone.

* The complete Tcl_CmdInfo manipulation. Functionality will be *partially*
  reenabled, minus the ability to call *objProc "safely" (API will be provided)

* all BC introspection and debugging; facilities will appear when we finish
  replacing TEBC and friends

* the ability to [yield] from within [subst]: we have 8.5 [subst], it is
  recursive (and can blow the stack ... as can the compiler anyway)

* command compilation: ALL commands are run from TEBC via EvalObjv. Only
  expressions make a non-trivial use of TEBC.


TO BE STUDIED
-------------
* Precise wording of error messages, is it worth working towards
  reproducing them faithfully? Not losing time on that now - not even in
  rewriting the tests.