<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">Howdy again Miller,<div><br></div><div>I manually applied your last 2 commits to the libpd pd_0.45-4 branch. Hopefully people with the actual hardware will give it a test and chime in.<div><br></div><div>I also put together a&nbsp;<a href="https://gist.github.com/danomatika/9173240">little script to check for string patterns in source files</a>&nbsp;and ran it on the externals in the sourceforge svn for the mess* functions and t_got_fn. It doesn't look that bad overall.</div><div><br></div><div>Here's the output:</div><div><br></div><div><div>--------------------------------------------------------------------------------</div><div>Checking for " mess1(" ...</div><div><br></div><div>./algocomp/m_pd.h:</div><div>231:#define mess1(x, s, a) ((*getfn((x), (s)))((x), (a)))</div><div><br></div><div>./grill/dynext/src/main.cpp:</div><div>952: &nbsp; &nbsp;mess1((t_pd *)canvas,const_cast&lt;t_symbol *&gt;(sym_dsp),NULL);</div><div><br></div><div>--------------------------------------------------------------------------------</div><div>Checking for " mess2(" ...</div><div><br></div><div>./algocomp/m_pd.h:</div><div>232:#define mess2(x, s, a,b) ((*getfn((x), (s)))((x), (a),(b)))</div><div><br></div><div>--------------------------------------------------------------------------------</div><div>Checking for " mess3(" ...</div><div><br></div><div>./algocomp/m_pd.h:</div><div>233:#define mess3(x, s, a,b,c) ((*getfn((x), (s)))((x), (a),(b),(c)))</div><div><br></div><div>--------------------------------------------------------------------------------</div><div>Checking for " mess4(" ...</div><div><br></div><div>./algocomp/m_pd.h:</div><div>234:#define mess4(x, s, a,b,c,d) ((*getfn((x), (s)))((x), (a),(b),(c),(d)))</div><div><br></div><div>--------------------------------------------------------------------------------</div><div>Checking for " mess5(" ...</div><div><br></div><div>./algocomp/m_pd.h:</div><div>235:#define mess5(x, s, a,b,c,d,e) ((*getfn((x), (s)))((x), (a),(b),(c),(d),(e)))</div><div><br></div><div>--------------------------------------------------------------------------------</div><div>Checking for "t_gotfn" ...</div><div><br></div><div>./algocomp/m_pd.h:</div><div>204:typedef void (*t_gotfn)(void *x, ...); 226:EXTERN t_gotfn getfn(t_pd *x, t_symbol *s); 227:EXTERN t_gotfn zgetfn(t_pd *x, t_symbol *s);</div><div><br></div><div>./chaos/attract1.c:</div><div>168:<span class="Apple-tab-span" style="white-space:pre">        </span>if (lyapunov_full((void *) attract1, (t_gotfn) calc, M_var_count, attract1 -&gt; vars, results) != NULL) { 297:<span class="Apple-tab-span" style="white-space:pre">                </span>attract1 -&gt; lyap_exp = lyapunov((void *) attract1, (t_gotfn) calc, M_var_count, (double *) attract1 -&gt; vars);</div><div><br></div><div>./chaos/base.c:</div><div>135:<span class="Apple-tab-span" style="white-space:pre">        </span>if (lyapunov_full((void *) base, (t_gotfn) calc, M_var_count, base -&gt; vars, results) != NULL) { 212:<span class="Apple-tab-span" style="white-space:pre">                </span>base -&gt; lyap_exp = lyapunov((void *) base, (t_gotfn) calc, M_var_count, (double *) base -&gt; vars);</div><div><br></div><div>./chaos/base3.c:</div><div>135:<span class="Apple-tab-span" style="white-space:pre">        </span>if (lyapunov_full((void *) base3, (t_gotfn) calc, M_var_count, base3 -&gt; vars, results) != NULL) { 212:<span class="Apple-tab-span" style="white-space:pre">                </span>base3 -&gt; lyap_exp = lyapunov((void *) base3, (t_gotfn) calc, M_var_count, (double *) base3 -&gt; vars);</div><div><br></div><div>./chaos/chaos.h:</div><div>17:double lyapunov(void *fractal, t_gotfn calc, int var_count, double *vars); 25:double *lyapunov_full(void *fractal, t_gotfn calc, int var_count, double *vars, double *results);</div><div><br></div><div>./chaos/dejong.c:</div><div>156:<span class="Apple-tab-span" style="white-space:pre">        </span>if (lyapunov_full((void *) dejong, (t_gotfn) calc, M_var_count, dejong -&gt; vars, results) != NULL) { 259:<span class="Apple-tab-span" style="white-space:pre">                </span>dejong -&gt; lyap_exp = lyapunov((void *) dejong, (t_gotfn) calc, M_var_count, (double *) dejong -&gt; vars);</div><div><br></div><div>./chaos/henon.c:</div><div>144:<span class="Apple-tab-span" style="white-space:pre">        </span>if (lyapunov_full((void *) henon, (t_gotfn) calc, M_var_count, henon -&gt; vars, results) != NULL) { 221:<span class="Apple-tab-span" style="white-space:pre">                </span>henon -&gt; lyap_exp = lyapunov((void *) henon, (t_gotfn) calc, M_var_count, (double *) henon -&gt; vars);</div><div><br></div><div>./chaos/hopalong.c:</div><div>150:<span class="Apple-tab-span" style="white-space:pre">        </span>if (lyapunov_full((void *) hopalong, (t_gotfn) calc, M_var_count, hopalong -&gt; vars, results) != NULL) { 240:<span class="Apple-tab-span" style="white-space:pre">                </span>hopalong -&gt; lyap_exp = lyapunov((void *) hopalong, (t_gotfn) calc, M_var_count, (double *) hopalong -&gt; vars);</div><div><br></div><div>./chaos/ikeda.c:</div><div>159:<span class="Apple-tab-span" style="white-space:pre">        </span>if (lyapunov_full((void *) ikeda, (t_gotfn) calc, M_var_count, ikeda -&gt; vars, results) != NULL) { 262:<span class="Apple-tab-span" style="white-space:pre">                </span>ikeda -&gt; lyap_exp = lyapunov((void *) ikeda, (t_gotfn) calc, M_var_count, (double *) ikeda -&gt; vars);</div><div><br></div><div>./chaos/latoocarfian.c:</div><div>156:<span class="Apple-tab-span" style="white-space:pre">        </span>if (lyapunov_full((void *) latoocarfian, (t_gotfn) calc, M_var_count, latoocarfian -&gt; vars, results) != NULL) { 259:<span class="Apple-tab-span" style="white-space:pre">                </span>latoocarfian -&gt; lyap_exp = lyapunov((void *) latoocarfian, (t_gotfn) calc, M_var_count, (double *) latoocarfian -&gt; vars);</div><div><br></div><div>./chaos/latoomutalpha.c:</div><div>156:<span class="Apple-tab-span" style="white-space:pre">        </span>if (lyapunov_full((void *) latoomutalpha, (t_gotfn) calc, M_var_count, latoomutalpha -&gt; vars, results) != NULL) { 259:<span class="Apple-tab-span" style="white-space:pre">                </span>latoomutalpha -&gt; lyap_exp = lyapunov((void *) latoomutalpha, (t_gotfn) calc, M_var_count, (double *) latoomutalpha -&gt; vars);</div><div><br></div><div>./chaos/latoomutbeta.c:</div><div>156:<span class="Apple-tab-span" style="white-space:pre">        </span>if (lyapunov_full((void *) latoomutbeta, (t_gotfn) calc, M_var_count, latoomutbeta -&gt; vars, results) != NULL) { 259:<span class="Apple-tab-span" style="white-space:pre">                </span>latoomutbeta -&gt; lyap_exp = lyapunov((void *) latoomutbeta, (t_gotfn) calc, M_var_count, (double *) latoomutbeta -&gt; vars);</div><div><br></div><div>./chaos/latoomutgamma.c:</div><div>156:<span class="Apple-tab-span" style="white-space:pre">        </span>if (lyapunov_full((void *) latoomutgamma, (t_gotfn) calc, M_var_count, latoomutgamma -&gt; vars, results) != NULL) { 259:<span class="Apple-tab-span" style="white-space:pre">                </span>latoomutgamma -&gt; lyap_exp = lyapunov((void *) latoomutgamma, (t_gotfn) calc, M_var_count, (double *) latoomutgamma -&gt; vars);</div><div><br></div><div>./chaos/libchaos.c:</div><div>22:double lyapunov_eval(void *fractal, t_gotfn calc, int var_count, double *vars, double *test) { 53:double lyapunov(void *fractal, t_gotfn calc, int var_count, double *vars) { 65:double *lyapunov_full(void *fractal, t_gotfn calc, int var_count, double *vars, double *results) {</div><div><br></div><div>./chaos/logistic.c:</div><div>129:<span class="Apple-tab-span" style="white-space:pre">        </span>if (lyapunov_full((void *) logistic, (t_gotfn) calc, M_var_count, logistic -&gt; vars, results) != NULL) { 193:<span class="Apple-tab-span" style="white-space:pre">                </span>logistic -&gt; lyap_exp = lyapunov((void *) logistic, (t_gotfn) calc, M_var_count, (double *) logistic -&gt; vars);</div><div><br></div><div>./chaos/lorenz.c:</div><div>163:<span class="Apple-tab-span" style="white-space:pre">        </span>if (lyapunov_full((void *) lorenz, (t_gotfn) calc, M_var_count, lorenz -&gt; vars, results) != NULL) { 266:<span class="Apple-tab-span" style="white-space:pre">                </span>lorenz -&gt; lyap_exp = lyapunov((void *) lorenz, (t_gotfn) calc, M_var_count, (double *) lorenz -&gt; vars);</div><div><br></div><div>./chaos/lotkavolterra.c:</div><div>156:<span class="Apple-tab-span" style="white-space:pre">        </span>if (lyapunov_full((void *) lotkavolterra, (t_gotfn) calc, M_var_count, lotkavolterra -&gt; vars, results) != NULL) { 259:<span class="Apple-tab-span" style="white-space:pre">                </span>lotkavolterra -&gt; lyap_exp = lyapunov((void *) lotkavolterra, (t_gotfn) calc, M_var_count, (double *) lotkavolterra -&gt; vars);</div><div><br></div><div>./chaos/martin.c:</div><div>138:<span class="Apple-tab-span" style="white-space:pre">        </span>if (lyapunov_full((void *) martin, (t_gotfn) calc, M_var_count, martin -&gt; vars, results) != NULL) { 202:<span class="Apple-tab-span" style="white-space:pre">                </span>martin -&gt; lyap_exp = lyapunov((void *) martin, (t_gotfn) calc, M_var_count, (double *) martin -&gt; vars);</div><div><br></div><div>./chaos/mlogistic.c:</div><div>129:<span class="Apple-tab-span" style="white-space:pre">        </span>if (lyapunov_full((void *) mlogistic, (t_gotfn) calc, M_var_count, mlogistic -&gt; vars, results) != NULL) { 193:<span class="Apple-tab-span" style="white-space:pre">                </span>mlogistic -&gt; lyap_exp = lyapunov((void *) mlogistic, (t_gotfn) calc, M_var_count, (double *) mlogistic -&gt; vars);</div><div><br></div><div>./chaos/pickover.c:</div><div>163:<span class="Apple-tab-span" style="white-space:pre">        </span>if (lyapunov_full((void *) pickover, (t_gotfn) calc, M_var_count, pickover -&gt; vars, results) != NULL) { 266:<span class="Apple-tab-span" style="white-space:pre">                </span>pickover -&gt; lyap_exp = lyapunov((void *) pickover, (t_gotfn) calc, M_var_count, (double *) pickover -&gt; vars);</div><div><br></div><div>./chaos/popcorn.c:</div><div>138:<span class="Apple-tab-span" style="white-space:pre">        </span>if (lyapunov_full((void *) popcorn, (t_gotfn) calc, M_var_count, popcorn -&gt; vars, results) != NULL) { 202:<span class="Apple-tab-span" style="white-space:pre">                </span>popcorn -&gt; lyap_exp = lyapunov((void *) popcorn, (t_gotfn) calc, M_var_count, (double *) popcorn -&gt; vars);</div><div><br></div><div>./chaos/quadruptwo.c:</div><div>150:<span class="Apple-tab-span" style="white-space:pre">        </span>if (lyapunov_full((void *) quadruptwo, (t_gotfn) calc, M_var_count, quadruptwo -&gt; vars, results) != NULL) { 240:<span class="Apple-tab-span" style="white-space:pre">                </span>quadruptwo -&gt; lyap_exp = lyapunov((void *) quadruptwo, (t_gotfn) calc, M_var_count, (double *) quadruptwo -&gt; vars);</div><div><br></div><div>./chaos/rossler.c:</div><div>163:<span class="Apple-tab-span" style="white-space:pre">        </span>if (lyapunov_full((void *) rossler, (t_gotfn) calc, M_var_count, rossler -&gt; vars, results) != NULL) { 266:<span class="Apple-tab-span" style="white-space:pre">                </span>rossler -&gt; lyap_exp = lyapunov((void *) rossler, (t_gotfn) calc, M_var_count, (double *) rossler -&gt; vars);</div><div><br></div><div>./chaos/standardmap.c:</div><div>138:<span class="Apple-tab-span" style="white-space:pre">        </span>if (lyapunov_full((void *) standardmap, (t_gotfn) calc, M_var_count, standardmap -&gt; vars, results) != NULL) { 202:<span class="Apple-tab-span" style="white-space:pre">                </span>standardmap -&gt; lyap_exp = lyapunov((void *) standardmap, (t_gotfn) calc, M_var_count, (double *) standardmap -&gt; vars);</div><div><br></div><div>./chaos/strange1.c:</div><div>204:<span class="Apple-tab-span" style="white-space:pre">        </span>if (lyapunov_full((void *) strange1, (t_gotfn) calc, M_var_count, strange1 -&gt; vars, results) != NULL) { 411:<span class="Apple-tab-span" style="white-space:pre">                </span>strange1 -&gt; lyap_exp = lyapunov((void *) strange1, (t_gotfn) calc, M_var_count, (double *) strange1 -&gt; vars);</div><div><br></div><div>./chaos/tent.c:</div><div>129:<span class="Apple-tab-span" style="white-space:pre">        </span>if (lyapunov_full((void *) tent, (t_gotfn) calc, M_var_count, tent -&gt; vars, results) != NULL) { 193:<span class="Apple-tab-span" style="white-space:pre">                </span>tent -&gt; lyap_exp = lyapunov((void *) tent, (t_gotfn) calc, M_var_count, (double *) tent -&gt; vars);</div><div><br></div><div>./chaos/three_d.c:</div><div>169:<span class="Apple-tab-span" style="white-space:pre">        </span>if (lyapunov_full((void *) three_d, (t_gotfn) calc, M_var_count, three_d -&gt; vars, results) != NULL) { 285:<span class="Apple-tab-span" style="white-space:pre">                </span>three_d -&gt; lyap_exp = lyapunov((void *) three_d, (t_gotfn) calc, M_var_count, (double *) three_d -&gt; vars);</div><div><br></div><div>./chaos/threeply.c:</div><div>150:<span class="Apple-tab-span" style="white-space:pre">        </span>if (lyapunov_full((void *) threeply, (t_gotfn) calc, M_var_count, threeply -&gt; vars, results) != NULL) { 240:<span class="Apple-tab-span" style="white-space:pre">                </span>threeply -&gt; lyap_exp = lyapunov((void *) threeply, (t_gotfn) calc, M_var_count, (double *) threeply -&gt; vars);</div><div><br></div><div>./chaos/tinkerbell.c:</div><div>156:<span class="Apple-tab-span" style="white-space:pre">        </span>if (lyapunov_full((void *) tinkerbell, (t_gotfn) calc, M_var_count, tinkerbell -&gt; vars, results) != NULL) { 259:<span class="Apple-tab-span" style="white-space:pre">                </span>tinkerbell -&gt; lyap_exp = lyapunov((void *) tinkerbell, (t_gotfn) calc, M_var_count, (double *) tinkerbell -&gt; vars);</div><div><br></div><div>./miXed/riddle/riddle.c:</div><div>873: &nbsp; &nbsp;t_gotfn freefn = zgetfn((t_pd *)rd, gensym("_free"));</div><div><br></div><div>./miXed/shared/unstable/fragile.c:</div><div>54:<span class="Apple-tab-span" style="white-space:pre">        </span> &nbsp; &nbsp;if (mp-&gt;me_fun == (t_gotfn)thiscall) 102:<span class="Apple-tab-span" style="white-space:pre">        </span>if (mp-&gt;me_name == cname &amp;&amp; mp-&gt;me_fun != (t_gotfn)thiscall)</div><div><br></div><div>./miXed/shared/unstable/pd_imp.h:</div><div>17: &nbsp; &nbsp;t_gotfn me_fun;</div><div><br></div><div>--------------------------------------------------------------------------------</div></div><div><br><div><div>On Feb 22, 2014, at 6:00 AM, <a href="mailto:pd-dev-request@iem.at">pd-dev-request@iem.at</a> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; margin: 0px;"><span style="font-family: Helvetica; color: rgb(127, 127, 127);"><b>From:<span class="Apple-converted-space">&nbsp;</span></b></span><span style="font-family: Helvetica;">Dan Wilcox &lt;<a href="mailto:danomatika@gmail.com">danomatika@gmail.com</a>&gt;<br></span></div><div style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; margin: 0px;"><span style="font-family: Helvetica; color: rgb(127, 127, 127);"><b>Subject:<span class="Apple-converted-space">&nbsp;</span></b></span><span style="font-family: Helvetica;"><b>Re: [PD-dev] libpd iOS 64 bit crash with variadic function pointers</b><br></span></div><div style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; margin: 0px;"><span style="font-family: Helvetica; color: rgb(127, 127, 127);"><b>Date:<span class="Apple-converted-space">&nbsp;</span></b></span><span style="font-family: Helvetica;">February 21, 2014 at 8:58:25 AM EST<br></span></div><div style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; margin: 0px;"><span style="font-family: Helvetica; color: rgb(127, 127, 127);"><b>To:<span class="Apple-converted-space">&nbsp;</span></b></span><span style="font-family: Helvetica;">Miller Puckette &lt;<a href="mailto:msp@ucsd.edu">msp@ucsd.edu</a>&gt;<br></span></div><div style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; margin: 0px;"><span style="font-family: Helvetica; color: rgb(127, 127, 127);"><b>Cc:<span class="Apple-converted-space">&nbsp;</span></b></span><span style="font-family: Helvetica;"><a href="mailto:pd-dev@iem.at">pd-dev@iem.at</a><br></span></div><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;">Thanks Miller. Is that to the Sourceforge git or some other place? I'll pull it down into libpd and get people to test it.</span><div style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><br><div><div>On Feb 21, 2014, at 6:00 AM,<span class="Apple-converted-space">&nbsp;</span><a href="mailto:pd-dev-request@iem.at">pd-dev-request@iem.at</a><span class="Apple-converted-space">&nbsp;</span>wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;">It looks like the whole mess1() (etc) macro system is going to fail on</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;">64-bit ARM - I can't see how to patch that. &nbsp;I can fix the local problems in</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;">the Pd vanilla source but I don't know whether it's better to take out the</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;">"mess()" macros altogether, or to take them out only for ARM64. &nbsp;(The</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;">former would be source incompatible but object compatible, but I'm thinking</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;">source compatibilty with a non-working feature is maybe actually worse than</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;">simply being source incompatible.)</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;">I've gone ahead and git-pushed an attempted fix (changing mess1() etc,<span class="Apple-converted-space">&nbsp;</span></span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;">potentially source-incompatibly) but am open to other ideas how to fix this.</span></blockquote></div><br><div><span class="Apple-style-span" style="border-collapse: separate; font-family: Helvetica; border-spacing: 0px;"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><span class="Apple-style-span" style="border-collapse: separate; font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div>--------</div><div>Dan Wilcox</div><div>@danomatika</div><div><a href="http://danomatika.com/">danomatika.com</a></div><div><a href="http://robotcowboy.com/">robotcowboy.com</a></div></div></span></div></span></div></div></blockquote></div><br><div>
<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica;  font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica;  font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>--------</div><div>Dan Wilcox</div><div>@danomatika</div><div><a href="http://danomatika.com">danomatika.com</a></div><div><a href="http://robotcowboy.com">robotcowboy.com</a></div><div><br></div></div></span><br class="Apple-interchange-newline"></div></span><br class="Apple-interchange-newline"><br class="Apple-interchange-newline">
</div>
<br></div></div></body></html>