Tcl Source Code

View Ticket
Login
Ticket UUID: 1980953
Title: TIP257 integration breaks 'make genstubs'
Type: Bug Version: obsolete: 8.6a0
Submitter: das Created on: 2008-05-31 22:20:51
Subsystem: 35. TclOO Package Assigned To: dkf
Priority: 5 Medium Severity:
Status: Closed Last Modified: 2008-06-29 07:00:58
Resolution: Fixed Closed By: dkf
    Closed on: 2008-06-29 00:00:58
Description:
tclOO.decls uses commands that tools/genStubs.tcl does not understand, breaking 'make genstubs'.

oo/tools/genStubs.tcl is not the standard genStubs.tcl, it appears to be derived from ttkGenStubs.tcl, and does not have any of the recent modifications that were made to tcl/tools/genStubs.tcl e.g. for static const stubs tables [patch 1938497].

Either the tclOO specific genStubs.tcl needs to be added to tcl/tools or (preferably) the extra functionality tclOO requires needs to be added to tcl/tools/genStubs.tcl
User Comments: dkf added on 2008-06-29 07:00:58:
Logged In: YES 
user_id=79902
Originator: NO

TclOO 0.5 uses the Tcl scheme.

das added on 2008-06-12 14:21:10:
Logged In: YES 
user_id=90580
Originator: YES

committed to HEAD, leaving open for TclOO

dkf added on 2008-06-10 21:30:26:
Logged In: YES 
user_id=79902
Originator: NO

Sounds fair enough to me. I'm planning to do the same to TclOOâ‘£8.5

das added on 2008-06-10 21:15:08:
Logged In: YES 
user_id=90580
Originator: YES

if there are no objections to the tclOOhooks.diff patch, I'll commit later today

das added on 2008-06-01 07:55:22:

File Added - 279740: tclOOhooks.diff

Logged In: YES 
user_id=90580
Originator: YES

concretely, the attached patch replaces use of struct TclOOStubAPI by the pointer to tclOOIntStubs in the main table hooks
File Added: tclOOhooks.diff

das added on 2008-06-01 07:43:18:
Logged In: YES 
user_id=90580
Originator: YES

re hooks: AFAIU that's just a way to hang additional stubs tables off the main table, could be used for tclOO as well, obviating the need for struct TclOOStubAPI...

das added on 2008-06-01 07:20:21:
Logged In: YES 
user_id=90580
Originator: YES

great!
no worries about merging my fixes to the generated files, I can do that, just commit what make genstubs produces...

dkf added on 2008-06-01 07:10:48:
Logged In: YES 
user_id=79902
Originator: NO

Sorted. Problems were two commands that were not really used, 'common/generic' in the main declarations, the hooks stuff (which I still don't really understand) and the fact that each interface needs to be generated separately. (Someone ought to do some kind of interlock there to prevent this sort of thing happening again...)

Now I've just got to undo the damage caused by your jumping the gun with "fixes".

dkf added on 2008-06-01 05:47:30:
Logged In: YES 
user_id=79902
Originator: NO

Grrr.

It was indeed written using the genstubs used in Tile, though the extra features in tclOO.decls from that system were actually not used in any meaningful way. But it seems that stubs generation is currently completely broken; tclOODecls.h is (effectively) empty following obvious changes, and tclOOStubInit.c is full of irrelevant rubbish (and yet nothing required)! Don't know why yet.

Attachments: