Share

SpecTcl

Tracker: Bugs

5 Error Message "unmatched open brace in list" in GUI Builder - ID: 1942792
Last Update: Comment added ( nobody )

Looking at the activity, I think this project is not maintened anymore, but
maybe this will help somebody...


I have a large Perl/TK 8.4 project based on the ActiveState GUI Builder
Build 146.
Someday I got an error message while generating the .pl and _ui.pm files.
Header: Error Generating Include File
Message: unmatched open brace in list

The .ui and _ui.pm file were saved properly, but if I added another button,
the callback sub was not generated. The .pl file should contain something
like:

# _button_1_command --
#
# Callback to handle $_button_1 widget option -command
#
# ARGS:
# <NONE>
#
sub _button_1_command { }

but that code was never generated.

I found out that this happens if you have a quoutet statement without a
closing brace.
Example:
sub _button_1_command {
#if ($x==5) {
if ($x==5 && &y==10) {
print "Hello World\n";
}
}

As you see, the first statement ist quoted, so it is ignored by perl. But
the GUI-Builder produces an error messages and the .pl file is never
updated. If I change the line to
#if ($x==5) { }
(notice the additional "}"
no error occures.

This behaviour occures only within the auto generated ..._command subs and
not within
# BEGIN USER CODE

# END USER CODE

I also figured out that this bug is not present in SpecTcl122a.


Nobody/Anonymous ( nobody ) - 2008-04-15 08:14

5

Open

None

Nobody/Anonymous

None

None

Public


Comment ( 1 )

Date: 2008-04-15 08:15
Sender: nobody

Logged In: NO

Sorry,
the line:
if ($x==5 && &y==10) {

should be more like:
if ($x==5 && $y==10) {


Attached File

No Files Currently Attached

Change

No changes have been made to this artifact.