Menu

#586 make all TclOO API functions MODULE_SCOPE

open-fixed
5
2011-09-28
2010-06-02
No

Because dkf (rightfully) only supports accessing
those functions through the stub table, there is
no need to export them from the dll.
dkf wrote in [Tcl Bug #2965424] comments
> I also only support it if it is compiled with
> stub support; people building statically
> are unsupported (and there's certainly no
> ABI migration strategy there in any case)

So, why not make them all MODULE_SCOPE,
then the only way to access them is through
the stub table.

Here is a patch doing that. The genStubs.tcl
modification is taken over from tdbc. It is
influenced as well by Joe english
(see Patch #941042 remarks), so
I guess that Joe and Kevin will
be happy as well about this change.

Discussion

  • Jan Nijtmans

    Jan Nijtmans - 2010-09-13

    Related to [Bugs #3064962] Suboptimal linkage of stubbed functions.

    Kevin, how is your opinion on this?

     
  • Jan Nijtmans

    Jan Nijtmans - 2010-09-13
    • assigned_to: dkf --> kennykb
     
  • Jan Nijtmans

    Jan Nijtmans - 2010-09-13

    re-generated patch against current HEAD

     
  • Alexandre Ferrieux

    Hmm, minor patching issue, the following hunk fails on tclOO.decls, because there's already a line with "
    scspec EXTERN". Should it replace it, or is there something more subtle ?

    --- generic/tclOO.decls 5 Mar 2010 15:32:16 -0000 1.7
    +++ generic/tclOO.decls 13 Sep 2010 21:18:11 -0000
    @@ -8,6 +8,7 @@

    interface tclOO
    hooks tclOOInt
    +scspec TCLOOAPI

    declare 0 generic {
    Tcl_Object Tcl_CopyObjectInstance(Tcl_Interp *interp,

     
  • Jan Nijtmans

    Jan Nijtmans - 2010-09-20

    >Should it replace it, or is there something more subtle ?

    The line should be replaced, there is nothing more subtile than that.
    Thanks!, I'll see if i can create a new patch.

     
  • Jan Nijtmans

    Jan Nijtmans - 2011-03-27

    Uploaded new patch against current trunk

     
  • Jan Nijtmans

    Jan Nijtmans - 2011-09-21

    Available now in freq-3010352-impl branch

     
  • Jan Nijtmans

    Jan Nijtmans - 2011-09-28

    Patch for TclOO (8.5 version)

     
  • Jan Nijtmans

    Jan Nijtmans - 2011-09-28

    Committed to trunk. Also, here is a new patch for
    TclOO (8.5 version) doing the same, therefore
    re-assigning to dkf.

     
  • Jan Nijtmans

    Jan Nijtmans - 2011-09-28
    • assigned_to: kennykb --> dkf
    • status: open --> open-fixed