Opened 16 years ago
Closed 12 years ago
#462 closed defect (fixed)
Tcl interp->result deprecated
Reported by: | neteler | Owned by: | |
---|---|---|---|
Priority: | minor | Milestone: | 6.4.3 |
Component: | Tcl/Tk | Version: | svn-releasebranch64 |
Keywords: | v.digit, nviz, libform, tcl8.6 | Cc: | fundawang |
CPU: | All | Platform: | All |
Description
In Tcl, interp->result is (really) deprecated from Tcl8.6 onwards. Still it is used in several modules:
./lib/form/form.c ./vector/v.digit/form.c ./visualization/nviz/src/anim_support.c ./visualization/nviz/src/cutplane_obj.c ./visualization/nviz/src/do_zoom.c ./visualization/nviz/src/draw.c ./visualization/nviz/src/exag.c ./visualization/nviz/src/lights.c ./visualization/nviz/src/map_obj.c ./visualization/nviz/src/misc.c ./visualization/nviz/src/mkdspf_main.c ./visualization/nviz/src/nvizAppInit.c ./visualization/nviz/src/nviz_init.c ./visualization/nviz/src/position.c ./visualization/nviz/src/togl_flythrough.c ./visualization/nviz/src/volume.c
Funda Wang has proposed a patch set: http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/grass/current/SOURCES/grass-6.4.0-tcl8.6.patch?view=log
which I attached to the ticket.
Is it correct and can be submitted to 6.4.x to gain compatibility with Tcl > 8.5? Related problems on Mac where reported.
Markus
Attachments (2)
Change History (18)
comment:1 by , 16 years ago
follow-up: 3 comment:2 by , 16 years ago
i've finally finish the patch, at URL: http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/grass/current/SOURCES/grass-6.4.0-tcl8.6.patch
The attached patch is an outdated one.
comment:3 by , 16 years ago
Replying to fundawang:
i've finally finish the patch, at URL: http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/grass/current/SOURCES/grass-6.4.0-tcl8.6.patch
The attached patch is an outdated one.
I tested this patch with develbranch_6 and tcl-8.4.19. v.digit -n map=newmap segfaults during launch. Can provide bt on request.
comment:4 by , 16 years ago
v.digit -n map=newmap
works here (Mandriva 2009.0, 64bit, tcl8.5). Also NVIZ works, both with the patch.
comment:6 by , 16 years ago
Since the update patch requires more verification, the TCL tip #330 hack was implemented in r35624 and r35625 . The hack was tested with nviz, d.what.vect and v.digit. The files in question now compile also with Tcl8.6.
With later Tcl versions it will fail to compile so the patch suggested by fundawang needs to be considered for the long term support.
Markus
follow-up: 8 comment:7 by , 16 years ago
I think i know the reason of crash, cause I've misled the feature of sscanf. I've updated the patch at usual place. Please test.
by , 16 years ago
Attachment: | grass-6.4.0-tcl8.6.patch added |
---|
replace deprecated interp->result (updated again patch)
comment:8 by , 16 years ago
Replying to fundawang:
I think i know the reason of crash, cause I've misled the feature of sscanf. I've updated the patch at usual place. Please test.
Hm. This patch really seems to work. Tested on ~x86 develbranch_6.
comment:9 by , 16 years ago
I suggest to apply it to develbranch_6 but not (yet) to releasebranch_6_4 (where we use the TCL tip # 330 hack).
by , 16 years ago
Attachment: | grass-6.4.0-tcl8.6_no_hack.patch added |
---|
replace deprecated interp->result (updated patch inclusive revert of TCL hack 330)
comment:10 by , 16 years ago
follow-up: 12 comment:11 by , 15 years ago
comment:12 by , 15 years ago
Milestone: | 6.4.0 → 6.4.1 |
---|
Replying to cmbarton:
Is this still an issue? We are only maintaining, not developing the TclTk GUI beyond GRASS 6.4 right? So can't it freeze with TclTk 8.5 and/or this patch?
FWIW, IMHO maintenance mode means not actively adding new features and refactoring, but rather keeping things working. A small patch to keep it working with tcl/tk 8.6 seems pretty well in the maintenance dept.
Replying to neteler:
Unsure about releasebranch_6_4 (where we currently use the TCL tip # 330 hack).
I suggest to leave the rest as-is for now and backport it to 6.4 if someone using 8.6 complains or if someone really feels like it.
On the other hand it seems like a pretty simple change and we could close the bug. I'll schedule the balance of it for 6.4.1.
shrug, Hamish
comment:13 by , 13 years ago
Milestone: | 6.4.1 → 6.4.3 |
---|
comment:14 by , 12 years ago
Milestone: | 6.4.3 → 6.4.4 |
---|---|
Priority: | major → minor |
Version: | svn-develbranch6 → svn-releasebranch64 |
No complaints for the past 7 months...
comment:16 by , 12 years ago
Keywords: | v.digit nviz libform tcl8.6 added |
---|---|
Milestone: | 6.4.4 → 6.4.3 |
Resolution: | → fixed |
Status: | new → closed |
please note that the patch is a draft, as i'm not familiar with tcl nor grass :( I only concern about get it built