<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<p>The character is not invisible. In an editor it manifests with an
endline plus an indentation in the following line which actually
visually helps parse things out inside a plaintext file like .pd.<br>
</p>
<p>I think the example you mentioned, while possible, is contrived
because if a user is reading a config, they are likely already
inside Pd with the intention of using such a config to configure
their patch state. If this is the case, and the config is stored
inside a patch in a form of a comment, then this is a non-issue
because all \v chars are replaced with \n at runtime which IIRC
regexp and similar methodologies can recognize as a separation
between args.</p>
<p>Now, the only reason I can imagine someone parsing a pd file
without actually loading it would be your pd META example for
tooltips which is a one-off example that can be easily addressed
in a number of ways. Other examples seem to me like academic
exercises--why would you store config inside a comments inside a
pd patch, just to parse a comment which would require you to
circumnavigate all the other syntax inside the file when you could
do the same in a plaintext file or a coll object, or better yet,
use preset_hub/node system?</p>
<p>Best,</p>
<p>Ico<br>
</p>
<br>
<div class="moz-cite-prefix">On 12/4/2016 2:38 PM, Jonathan Wilkes
wrote:<br>
</div>
<blockquote
cite="mid:1007019113.6206640.1480880303942@mail.yahoo.com"
type="cite">
<div style="color:#000; background-color:#fff;
font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial,
Lucida Grande, sans-serif;font-size:16px">
<div id="yiv4378098391">
<div class="qtdSeparateBR"><br>
<br>
</div>
<div>
<div
style="color:#000;background-color:#fff;font-family:HelveticaNeue,
Helvetica Neue, Helvetica, Arial, Lucida Grande,
sans-serif;font-size:16px;">
<div class="yiv4378098391yqt0670964594"
id="yiv4378098391yqtfd25529">> What about people
parsing Pd files in Pd? If they're searching for symbol
"foo", are they going to have to deal with the edge case
of symbol "foo\v"?</div>
<div class="yiv4378098391qtdSeparateBR"><br clear="none">
</div>
</div>
</div>
</div>
<div class=".yiv4378098391yahoo_quoted"
id="yui_3_16_0_ym19_1_1480879099506_16330">
<div id="yiv4378098391yui_3_16_0_ym19_1_1480879099506_7309"
style="font-family:HelveticaNeue, Helvetica Neue, Helvetica,
Arial, Lucida Grande, sans-serif;font-size:16px;">
<div id="yiv4378098391yui_3_16_0_ym19_1_1480879099506_7308"
style="font-family:HelveticaNeue, Helvetica Neue,
Helvetica, Arial, Lucida Grande,
sans-serif;font-size:16px;">
<div class="yiv4378098391y_msg_container"
id="yiv4378098391yui_3_16_0_ym19_1_1480879099506_7314">
<div id="yiv4378098391">
<div
id="yiv4378098391yui_3_16_0_ym19_1_1480879099506_7313">
<div
id="yiv4378098391yui_3_16_0_ym19_1_1480879099506_7312"
style="color:#000;background-color:#fff;font-family:HelveticaNeue,
Helvetica Neue, Helvetica, Arial, Lucida Grande,
sans-serif;font-size:16px;">
<div class="yiv4378098391yahoo_quoted"
id="yiv4378098391yui_3_16_0_ym19_1_1480873294076_4760"
style="display:block;">
<div
id="yiv4378098391yui_3_16_0_ym19_1_1480873294076_4759"
style="font-family:HelveticaNeue, Helvetica
Neue, Helvetica, Arial, Lucida Grande,
sans-serif;font-size:16px;">
<div
id="yiv4378098391yui_3_16_0_ym19_1_1480873294076_4758"
style="font-family:HelveticaNeue, Helvetica
Neue, Helvetica, Arial, Lucida Grande,
sans-serif;font-size:16px;">
<div class="yiv4378098391y_msg_container"
id="yiv4378098391yui_3_16_0_ym19_1_1480873294076_4794">
<div id="yiv4378098391">
<div
id="yiv4378098391yui_3_16_0_ym19_1_1480873294076_4793">
<div
id="yui_3_16_0_ym19_1_1480879099506_16520">Ivica,</div>
<div
id="yui_3_16_0_ym19_1_1480879099506_16329">Just
to give an example-- suppose someone
is using a patch to store
configuration data for their
project. They type the config data
as comments in the <br clear="none">
</div>
<div dir="ltr"
id="yui_3_16_0_ym19_1_1480879099506_16518">patch,
much like [pd META]. Then they
parse their patch from within Pd,
using [textfile], or [text] or
whatever.<br clear="none">
</div>
<div dir="ltr"
id="yui_3_16_0_ym19_1_1480879099506_16517"><br
clear="none">
</div>
<div dir="ltr"
id="yui_3_16_0_ym19_1_1480879099506_16331">Now,
if they decide to insert some
newlines into the comments to make
their config prettier, as far as I
understand this ends up appending an
invisible <br clear="none">
</div>
<div dir="ltr"
id="yui_3_16_0_ym19_1_1480879099506_16332">'\v'
character to the last atom of each
line. So the next time they read
their config they will get corrupted
data that's hard to debug because
the <br clear="none">
</div>
<div dir="ltr"
id="yui_3_16_0_ym19_1_1480879099506_18798">character
doing the corruption is
non-printable.</div>
<div dir="ltr"
id="yui_3_16_0_ym19_1_1480879099506_18799"><br
clear="none">
</div>
<div dir="ltr"
id="yui_3_16_0_ym19_1_1480879099506_18801">
<div
id="yui_3_16_0_ym19_1_1480879099506_18804">That's
the only direct downside I can
see. But as a design pattern it's
problematic-- there are other
places in Pd where a dev tried to
use an <br>
</div>
<div dir="ltr"
id="yui_3_16_0_ym19_1_1480879099506_18800">"obscure"
character as a placeholder for
something else. That approach
usually ends up creating more
bugs.</div>
<div dir="ltr"
id="yui_3_16_0_ym19_1_1480879099506_18802"><br>
</div>
<div dir="ltr"
id="yui_3_16_0_ym19_1_1480879099506_18803">-Jonathan<br>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="yiv4378098391yqt0670964594"
id="yiv4378098391yqtfd93407"> </div>
</div>
<div class="yiv4378098391yqt0670964594"
id="yiv4378098391yqtfd71751"> </div>
</div>
<div class="yiv4378098391yqt0670964594"
id="yiv4378098391yqtfd92650"> </div>
</div>
</div>
</blockquote>
<br>
</body>
</html>