<html><body>
<p><font size="2" face="sans-serif">If that's the case then what is the harm with adding a module id to the define call :</font><br>
<br>
<font size="2" face="sans-serif">(typeof define === &quot;undefined&quot; ? function(id, deps, def) { def(); } : define)(&quot;dojox/mobile/deviceTheme&quot;, [</font><br>
<font size="2" face="sans-serif">        &quot;dojo/_base/config&quot;,</font><br>
<font size="2" face="sans-serif">        &quot;dojo/_base/lang&quot;,</font><br>
<font size="2" face="sans-serif">        &quot;dojo/_base/window&quot;,</font><br>
<font size="2" face="sans-serif">        &quot;require&quot;</font><br>
<font size="2" face="sans-serif">], function(config, lang, win, require){</font><br>
<br>
<font size="2" face="sans-serif">I know it's not recommended to hard code ids but I think this can be considered a special case, especially as loading via AMD is discouraged. This is the patch we use to get it loading in Maqetta with Zazl</font><br>
<br>
<font size="2" face="sans-serif">Richard</font><br>
<br>
<img width="16" height="16" src="cid:1__=08BBF01FDFC27BD48f9e8a93df938@us.ibm.com" border="0" alt="Inactive hide details for Christophe Jolif ---10/03/2012 10:53:42 AM---Richard,"><font size="2" color="#424282" face="sans-serif">Christophe Jolif ---10/03/2012 10:53:42 AM---Richard,</font><br>
<br>

<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr valign="top"><td width="1%"><img width="96" height="1" src="cid:2__=08BBF01FDFC27BD48f9e8a93df938@us.ibm.com" border="0" alt=""><br>

<ul style="padding-left: 4pt"><font size="1" color="#5F5F5F" face="sans-serif">From:</font></ul>
</td><td width="100%"><img width="1" height="1" src="cid:2__=08BBF01FDFC27BD48f9e8a93df938@us.ibm.com" border="0" alt=""><br>
<font size="1" face="sans-serif">Christophe Jolif &lt;cjolif@gmail.com&gt;</font></td></tr>

<tr valign="top"><td width="1%"><img width="96" height="1" src="cid:2__=08BBF01FDFC27BD48f9e8a93df938@us.ibm.com" border="0" alt=""><br>

<ul style="padding-left: 4pt"><font size="1" color="#5F5F5F" face="sans-serif">To:</font></ul>
</td><td width="100%"><img width="1" height="1" src="cid:2__=08BBF01FDFC27BD48f9e8a93df938@us.ibm.com" border="0" alt=""><br>
<font size="1" face="sans-serif">&quot;dojo dev.&quot; &lt;dojo-contributors@mail.dojotoolkit.org&gt;, </font></td></tr>

<tr valign="top"><td width="1%"><img width="96" height="1" src="cid:2__=08BBF01FDFC27BD48f9e8a93df938@us.ibm.com" border="0" alt=""><br>

<ul style="padding-left: 4pt"><font size="1" color="#5F5F5F" face="sans-serif">Date:</font></ul>
</td><td width="100%"><img width="1" height="1" src="cid:2__=08BBF01FDFC27BD48f9e8a93df938@us.ibm.com" border="0" alt=""><br>
<font size="1" face="sans-serif">10/03/2012 10:53 AM</font></td></tr>

<tr valign="top"><td width="1%"><img width="96" height="1" src="cid:2__=08BBF01FDFC27BD48f9e8a93df938@us.ibm.com" border="0" alt=""><br>

<ul style="padding-left: 4pt"><font size="1" color="#5F5F5F" face="sans-serif">Subject:</font></ul>
</td><td width="100%"><img width="1" height="1" src="cid:2__=08BBF01FDFC27BD48f9e8a93df938@us.ibm.com" border="0" alt=""><br>
<font size="1" face="sans-serif">Re: [dojo-contributors] Tentative agenda for today meeting</font></td></tr>
</table>
<hr width="100%" size="2" align="left" noshade style="color:#8091A5; "><br>
<br>
<br>
<font size="3" face="serif">Richard,<br>
<br>
That code is just here is to _not_ totally break existing apps that might be doing that prior to our recommendation of _not_ doing it. I don't feel this would be reasonable to remove that code and totally breaking existing in a patch release.<br>
<br>
--<br>
Christophe<br>
</font><br>
<font size="3" face="serif">On Wed, Oct 3, 2012 at 4:48 PM, Richard Backhouse &lt;</font><a href="mailto:backhous@us.ibm.com" target="_blank"><font size="3" color="#0000FF" face="serif"><u>backhous@us.ibm.com</u></font></a><font size="3" face="serif">&gt; wrote:</font>
<ul style="padding-left: 9pt"><font size="3" face="sans-serif">If it won't load via an AMD loader reliably then I suggest taking out the define call completely and make it only load via a script tag. </font><font size="3" face="serif"><br>
</font><font size="3" face="sans-serif"><br>
BTW the Zazl issue has nothing to do with plugins. It's when you have code like what is in deviceTheme problems arise with dependency analysis</font><font size="3" face="serif"><br>
</font><tt><font size="3"><br>
(</font></tt><tt><font size="3" color="#820040"><b>typeof</b></font></tt><tt><font size="3"> define === </font></tt><tt><font size="3" color="#4200FF">&quot;undefined&quot;</font></tt><tt><font size="3"> ? </font></tt><tt><font size="3" color="#820040"><b>function</b></font></tt><tt><font size="3">(deps, def) { def(); } : define)([</font></tt><tt><font size="3" color="#4200FF"><br>
&quot;dojo/_base/config&quot;</font></tt><tt><font size="3">,</font></tt><tt><font size="3" color="#4200FF"><br>
&quot;dojo/_base/lang&quot;</font></tt><tt><font size="3">,</font></tt><tt><font size="3" color="#4200FF"><br>
&quot;dojo/_base/window&quot;</font></tt><tt><font size="3">,</font></tt><tt><font size="3" color="#4200FF"><br>
&quot;require&quot;</font></tt><tt><font size="3"><br>
], </font></tt><tt><font size="3" color="#820040"><b>function</b></font></tt><tt><font size="3">(config, lang, win, require){</font></tt><font size="3" face="serif"><br>
<br>
<br>
<br>
</font><img src="cid:1__=08BBF01FDFC27BD48f9e8a93df938@us.ibm.com" width="16" height="16" alt="Inactive hide details for Ben Hockey ---10/03/2012 10:39:12 AM---On Oct 3, 2012, at 9:26 AM, Christophe Jolif wrote:"><font size="3" color="#424282" face="sans-serif">Ben Hockey ---10/03/2012 10:39:12 AM---On Oct 3, 2012, at 9:26 AM, Christophe Jolif wrote:</font><font size="3" face="serif"><br>
</font></ul>
<br>

<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr valign="top"><td width="23%"><img src="cid:2__=08BBF01FDFC27BD48f9e8a93df938@us.ibm.com" width="96" height="1">
<ul style="padding-left: 36pt"><font size="1" color="#5F5F5F" face="sans-serif">From:</font></ul>
</td><td width="77%"><img src="cid:2__=08BBF01FDFC27BD48f9e8a93df938@us.ibm.com" width="1" height="1"><font size="1" face="sans-serif"><br>
Ben Hockey &lt;</font><a href="mailto:neonstalwart@gmail.com" target="_blank"><font size="1" color="#0000FF" face="sans-serif"><u>neonstalwart@gmail.com</u></font></a><font size="1" face="sans-serif">&gt;</font></td></tr>

<tr valign="top"><td width="23%"><img src="cid:2__=08BBF01FDFC27BD48f9e8a93df938@us.ibm.com" width="96" height="1">
<ul style="padding-left: 36pt"><font size="1" color="#5F5F5F" face="sans-serif">To:</font></ul>
</td><td width="77%"><img src="cid:2__=08BBF01FDFC27BD48f9e8a93df938@us.ibm.com" width="1" height="1"><font size="1" face="sans-serif"><br>
&quot;dojo dev.&quot; &lt;</font><a href="mailto:dojo-contributors@mail.dojotoolkit.org" target="_blank"><font size="1" color="#0000FF" face="sans-serif"><u>dojo-contributors@mail.dojotoolkit.org</u></font></a><font size="1" face="sans-serif">&gt;, </font></td></tr>

<tr valign="top"><td width="23%"><img src="cid:2__=08BBF01FDFC27BD48f9e8a93df938@us.ibm.com" width="96" height="1">
<ul style="padding-left: 36pt"><font size="1" color="#5F5F5F" face="sans-serif">Date:</font></ul>
</td><td width="77%"><img src="cid:2__=08BBF01FDFC27BD48f9e8a93df938@us.ibm.com" width="1" height="1"><font size="1" face="sans-serif"><br>
10/03/2012 10:39 AM</font></td></tr>

<tr valign="top"><td width="23%"><img src="cid:2__=08BBF01FDFC27BD48f9e8a93df938@us.ibm.com" width="96" height="1">
<ul style="padding-left: 36pt"><font size="1" color="#5F5F5F" face="sans-serif">Subject:</font></ul>
</td><td width="77%"><img src="cid:2__=08BBF01FDFC27BD48f9e8a93df938@us.ibm.com" width="1" height="1"><font size="1" face="sans-serif"><br>
Re: [dojo-contributors] Tentative agenda for today meeting</font></td></tr>
</table>

<ul style="padding-left: 9pt"><hr width="100%" size="2" align="left" noshade><br>
<font size="3" face="serif"><br>
<br>
</font><tt><font size="3"><br>
<br>
On Oct 3, 2012, at 9:26 AM, Christophe Jolif wrote:<br>
<br>
&gt; Adam,<br>
&gt; <br>
&gt; On Wed, Oct 3, 2012 at 4:05 PM, Adam L. Peller &lt;</font></tt><a href="mailto:adam@peller.org" target="_blank"><tt><font size="3" color="#0000FF"><u>adam@peller.org</u></font></tt></a><tt><font size="3">&gt; wrote:<br>
&gt; <br>
&gt;&gt; Could your team take another look at<br>
&gt;&gt; </font></tt><a href="http://trac.dojotoolkit.org/ticket/15901" target="_blank"><tt><font size="3" color="#0000FF"><u>http://trac.dojotoolkit.org/ticket/15901</u></font></tt></a><tt><font size="3"> whether for 1.8.1 or 1.8.2?<br>
&gt;&gt; It's a blocker for Maqetta, and we had to fork the repository to get<br>
&gt;&gt; around it.<br>
&gt; <br>
&gt; Maybe Eric will have a different stance on this. But to me from our<br>
&gt; past experience this is really not a good idea to load that piece of<br>
&gt; JavaScript as an (asynchronous) AMD module (that might change in the<br>
&gt; future if we are able to get notified on CSS loading but as of today<br>
&gt; this might well end up in initialization nightmare, especially when<br>
&gt; running in a container like Cordova) so I'm wondering why Maqetta<br>
&gt; seems to be reluctant to use it as recommended which, if I'm not<br>
&gt; mistaken, would solve the issue without having to change Dojo?<br>
&gt; <br>
<br>
i agree with christophe, i've had exactly the same experience.  this file does not work when loaded asynchronously via a loader.<br>
<br>
if you have never seen this issue, the things i found that exacerbated the problem was to do a build and try to load an alternative theme to iPhone (which is the default so iirc sometimes it seemed like it was working) - i was using android.<br>
<br>
the only way this file works consistently is to add it as a separate script tag.  although this is inconvenient, i don't think changing it to suit static analysis is going to help - if anything it just makes it easier to use it in a way that doesn't work.  <br>
<br>
as christophe eluded to, this file can't be loaded reliably by an asynchronous loader without knowing when the css is fully loaded - perhaps by using some kind of css plugin.  i believe zazl has difficulties with plugins (maybe i don't understand and it might be able to handle this case) so this doesn't seem like it would move you forward either.<br>
<br>
ben...<br>
<br>
_______________________________________________<br>
dojo-contributors mailing list</font></tt><tt><font size="3" color="#0000FF"><u><br>
</u></font></tt><a href="mailto:dojo-contributors@mail.dojotoolkit.org" target="_blank"><tt><font size="3" color="#0000FF"><u>dojo-contributors@mail.dojotoolkit.org</u></font></tt></a><tt><font size="3" color="#0000FF"><u><br>
</u></font></tt><a href="http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors" target="_blank"><tt><font size="3" color="#0000FF"><u>http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors</u></font></tt></a><tt><font size="3"><br>
</font></tt><font size="3" face="serif"><br>
<br>
</font><br>
<font size="3" face="serif"><br>
_______________________________________________<br>
dojo-contributors mailing list</font><font size="3" color="#0000FF" face="serif"><u><br>
</u></font><a href="mailto:dojo-contributors@mail.dojotoolkit.org"><font size="3" color="#0000FF" face="serif"><u>dojo-contributors@mail.dojotoolkit.org</u></font></a><font size="3" color="#0000FF" face="serif"><u><br>
</u></font><a href="http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors" target="_blank"><font size="3" color="#0000FF" face="serif"><u>http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors</u></font></a><font size="3" face="serif"><br>
</font></ul>
<font size="3" face="serif"><br>
<br>
<br>
-- <br>
Christophe</font><tt><font size="2">_______________________________________________<br>
dojo-contributors mailing list<br>
dojo-contributors@mail.dojotoolkit.org<br>
</font></tt><tt><font size="2"><a href="http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors">http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors</a></font></tt><tt><font size="2"><br>
</font></tt><br>
<br>
</body></html>