The user function labels quotes its argument. Therefore, I was wondering why the following works without a double-quote:
I have expected the following behavior:
The reason is, that the function getlabels only look at the first char of a symbol ($- an %-chars are stripped away). In this case the first char of the symbols '$inchar and '$outchar are equal to the value of $inchar and $outchar.
Therefore, every symbol which starts with an actual label-char will work too:
This might be no problem as long as the user only uses one and different chars for the input and output labels. But the documentation about inchar and outchar says: inchar/outchar may be assigned any string or symbol, not necessarily a single character.
The user may be surprised that this does not work as expected:
(my_o4) [my_i4, my_o3, my_i3, my_i1, my_o0]
(my_o5) [my_i5, my_o4, my_i4, my_o3, my_i3, my_i1, my_o0]
The user always get a complete list of all symbols which start with the char 'm. More worse might be that the command kill(inlabels) or kill(outlabels) for this case always will remove all labels.
I think it is only a small inconsistency, but it might be annoying for a user when using this functionality.