[PD-dev] [ pure-data-Patches-2947822 ] space character in gui labels causes disaster

SourceForge.net noreply at sourceforge.net
Tue Dec 4 04:27:34 CET 2012


Patches item #2947822, was opened at 2010-02-08 05:12
Message generated for change (Comment added) made by millerpuckette
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=478072&aid=2947822&group_id=55736

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: puredata
Group: None
Status: Open
Resolution: Fixed
Priority: 5
Private: No
Submitted By: Matteo Sisti Sette (sistisette)
Assigned to: Miller Puckette (millerpuckette)
Summary: space character in gui labels causes disaster

Initial Comment:
Steps to reproduce:

1 - Open the attached patch

Note the size of the radio and toggle. Note also they have "send" symbols set to "xxx" and "yyy" respectively

2 - Click on the big bang at the top

This composes a symbol containing space characters and sends it as a label to both the radio and the toggle.

This seems to work: the label is actually set with spaces, and the radio and toggle still work.

However, if you right-click on any of them and try to select "properties", the properties dialog won't open

3 - Now save the patch and close it

4 - Open the patch again. The radio and toggle properties have been completely "reset": their size have been reset to default, and also the "number" property of the radio. They have lost their "send" symbol too: you can see the outlet and if you use them, the "r" objects won't receive anything.

However, if you open the properties dialog of the radio or toggle, you'll see that the "send" property is still there (not the same can be said for the size and number); if you now do Apply or Ok, the send symbol will be restored.


So, spaces in the label of a gui object cause weirdnesses and potential disaster. Note that data is lost (the properties of the gui objects) if the patch is saved after assigning such a label, and i is lost silently with no error message at any moment.

There are ather "forbidden" characters ithat don't behave properly n labels, such as the open square bracket "[" (as reported in another bug report). However the space character is more disatrous as it causes data loss. 
Object should either accept ALL characters for a label, or properly detect and refuse forbidden characters, which should be documented, avoiding unexpected consequences.



----------------------------------------------------------------------

>Comment By: Miller Puckette (millerpuckette)
Date: 2012-12-03 19:27

Message:
Note the much simpler way the "number box" finesses this problem.  I'm
scared of adding
code to m_binbuf.c to escape spaces (what will happen when we later allow
backslashes
into the mix?).  But without the binbuf patch the fix to the IEM guis
doesn't work - so I'm
tempted for now just to do as in the number box - it's not incompatible to
"do it right" at
some ater date when we can thonk the whole thing through (it's all over the
Pd code and all
needs to be figured out together).

----------------------------------------------------------------------

Comment By: IOhannes m zmölnig (zmoelnig)
Date: 2012-11-13 16:45

Message:
added another patch (0002_*) that implements escaping spaces and tabs when
saving the files to disk.

i  guess both patches should be applied for full fun.

----------------------------------------------------------------------

Comment By: IOhannes m zmölnig (zmoelnig)
Date: 2012-11-13 15:36

Message:
the bug.pd file does not correctly show the labels with blanks after
reloading but it doesn't throw any warnings)

however, the bugfix-patch doesn't work for me.

nevertheless the problem is known and is not in the pd->gui communication,
but rather in the way the label is stored on disk (and then interpreted on
reload):  
afaict, blanks (and other special chars) really must be escaped with
backslash (e.g. "A\ A\ A") when saved to disk

----------------------------------------------------------------------

Comment By: Hans-Christoph Steiner (eighthave)
Date: 2012-11-13 12:52

Message:
the values were not quoted, so just quoting them with {} fixes it.  The
patch is attached.

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=478072&aid=2947822&group_id=55736



More information about the Pd-dev mailing list