Tcl Source Code

View Ticket
Login
Ticket UUID: 3034251
Title: backport ttkGenStubs.tcl features to genStubs.tcl
Type: Patch Version: None
Submitter: nijtmans Created on: 2010-07-25 11:06:21
Subsystem: 53. Configure and Build Tools Assigned To: nijtmans
Priority: 5 Medium Severity:
Status: Closed Last Modified: 2010-11-07 15:18:56
Resolution: Fixed Closed By: nijtmans
    Closed on: 2010-11-07 08:18:56
Description:
A few changes in ttkGenStubs.tcl are valid for Tcl as well.

# CHANGES: 
#+ Remove xxx_TCL_DECLARED #ifdeffery
#+ Remove dead code related to USE_*_STUB_PROCS (emitStubs, makeStub)
#+ Use void (*reserved$i)(void) = 0 instead of void *reserved$i = NULL
#  for unused stub entries, in case pointer-to-function and 
#  pointer-to-object are different sizes.

Since the firx for [Bug #803489], The mentioned #ifdeffery does not
serve any purpose in Tcl any more. It has brought more problems
than benefit, so ttkGenStubs.tcl is right in removing it altogether.

In addition, there are two more improvments:
- In stead of the ifdefferey, put an #ifdef __cplusplus guard, aground the
  definition of the stub pointer, so it can be used in C++ files as well.
- Make the "generic" argument in de *.decl files optional

Here is the patch. Of course, all *Decls.h and *InitStubs.c files need
to be re-generated.
User Comments: nijtmans added on 2010-11-07 15:18:56:

allow_comments - 1

nijtmans added on 2010-08-19 11:32:37:
ifdeffery and __cplusplus guard part committed in HEAD. All *Decls.h files re-generated.

nijtmans added on 2010-07-25 18:06:22:

File Added - 381053: genStubs.tcl.patch

Attachments: