This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author Andreas Bolsch
Recipients Andreas Bolsch
Date 2016-08-20.16:50:26
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1471711827.55.0.419886306441.issue27817@psf.upfronthosting.co.za>
In-reply-to
Content
Applies to 2.7.10 and 2.7.12:

Installed LinuxCNC from source at https://github.com/LinuxCNC/linuxcnc :
./configure --with-realtime=uspace --enable-simulator --enable-non-distributable=yes --prefix=/usr --libdir=/usr/lib64
make
make install

Configured device as per attached files, that's a simulated XYZ-mill.

Now start application with: 
linuxcnc linuxcnc/configs/my-mill/my-mill.ini

The "Manual Control Widget" has a radio button denoted "X", "Y", "Z" with values "x", "y" and "z" to select the active axis. "X" and "Z" work as desired, but "Y" does not. Instead:

Exception in Tkinter callback
Traceback (most recent call last):
  File "/usr/lib64/python2.7/lib-tk/Tkinter.py", line 1537, in __call__
    return self.func(*args)
  File "/usr/bin/axis", line 2323, in jog_plus
    a = "xyzabcuvw".index(a)
ValueError: substring not found

Reason: The Tcl button variable "current_axis" gets "y" assigned to as desired. The corresponding python variable "a" however, gets "True". I've tracked that down to "FromObj" in "_tkinter.c" where "value->typePtr" equals "app->OldBooleanType". 

In 2.7.8 and 2.7.9 the behavior is ok, but in 2.7.10 and 2.7.12 button value "y" (and of course "yes", "no" etc.) is transformed into boolean a value ...    

This change of behaviour depends only on _tkinter.so, exchanging just *this single* file makes the problem (dis-) appear.
History
Date User Action Args
2016-08-20 16:50:27Andreas Bolschsetrecipients: + Andreas Bolsch
2016-08-20 16:50:27Andreas Bolschsetmessageid: <1471711827.55.0.419886306441.issue27817@psf.upfronthosting.co.za>
2016-08-20 16:50:27Andreas Bolschlinkissue27817 messages
2016-08-20 16:50:26Andreas Bolschcreate