<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div>On Apr 18, 2013, at 12:07 PM, Shannon Spires <<a href="mailto:svs@bearlanding.com">svs@bearlanding.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="font-family: monospace; ">Paul Krueger wrote-</span><div><font class="Apple-style-span" face="monospace"><br></font><div><blockquote type="cite"><span class="Apple-style-span" style="font-family: monospace; ">All my new code will require CCL 1.9 and OSX 10.7 (Lion) or better.</span></blockquote><br></div></div><div>Is there any chance you could conditionalize the Lion-specific features such that the code would still compile to a Snow Leopard target? I don't know how many of us there are, but I for one prefer to stick with Snow Leopard for the foreseeable future, and wouldn't mind giving up the Lion-specific GUI features.</div><div><br></div><div>-Shannon</div></div></blockquote></div><br><div>Shannon,</div><div><br></div><div>I initially looked at trying to do something like that, but unfortunately the changes are just too pervasive. I have switched from doing all interfaces using an Interface Builder / NIB approach to doing all interfaces procedurally. That avoids the Lisp workflow disruption that was caused by Apple's changes to Xcode and IB. But the only way I think that is reasonable is if you use the new constraints API that Apple introduced in OSX 10.7. That means that none of my windows can be constructed on 10.6 systems and given how much constraints evolved from 10.7 to 10.8, I'm not entirely sure that they will perform correctly on 10.7 either. It's certainly possible to cherry-pick large parts of my code (i'm thinking of the type translation stuff and perhaps much of the initialization code that I've done for various views and other interface objects), but there are still bits and pieces of that which just won't work on pre-10.7 systems.</div><div><br></div><div>Apple seems to introduce new interfaces and deprecate old ones at a fairly rapid pace and I made a decision to update any such things that I found in order to make my code last a little longer if possible. But again, that means I'm making calls that just don't exist pre-10.7. </div><div><br></div><div>I certainly understand why people are unhappy with Apple's upgrade policies, but I can't waste time and energy fighting it. You have two choices I think, keep up with the changes as best you can or abandon Apple altogether. I've got so much time invested in Cocoa interfaces now, that the former is just a better choice for me. I generally agree with Alex's sentiments regarding the alternatives.</div><div><br></div><div>I have no objections if someone wants to pick up pieces of what I will check in and try to integrate them with the 10.6 version of my code, but I can't realistically do that myself, even if I was willing to give it a try, because I no longer have any systems running 10.6. And frankly, I did all this so that I could get on with building my own app and making my tools work in both environments would keep me away from that for a very long time. I really want to give something back to the CCL community for the super version of Lisp and Objective-C interface that it has, which is why I've taken the time to write a tutorial and provide examples along with my contributed code, but I have to draw a line somewhere or spend the rest of my life doing nothing but interface tools. So regrettably, I'm left with something that will only be directly usable by people with 10.7 or higher. </div><div><br></div><div>Best to all on whatever path you take for your own work.</div></body></html>