JVER is a good idea, but we don't have enough resource to support multiple versions. I imagine most of those addons using wd will either not updated or not migrated to j801.
11.03.2014, в 18:23, Marc Simpson <[email protected]> написал(а): > Good point; I hadn't considered the JHS and console cases (sorry). Re: > lint, note that in jconsole, > > require'debug/lint/lint' > |control error: script > | 3 :0'' > |[-31] /applications/j/j64-801/addons/debug/lint/lint.ijs > > Splitting out the addons seems like a good idea, though that doesn't > address local libraries that use similar techniques for determining > compatibility. Use of IF* seems a little haphazard; assumptions are > made on the basis of a subset of features (Qt, JHS, console, etc.). > For example, rdsock.ijs uses IFJ6 is used to determine engine version > and load additional libraries accordingly while the conditionals in > lint.ijs are used to set IFGUI ahead of loading 'grid'. > > In place of IFJ6, wouldn't it make more sense to employ a pattern like, > > if. JVER = 6 do. > > where JVER_z_ provides the release number? (This could be a list > rather than scalar to provide point release info e.g. 8 0 1). > Advantages: > > - We no longer require nouns like IFJ6; JVER would just be defined in > each release; > - Libraries (not just official addons) can specify release ranges > ("works with 701+") more cleanly; > - Depdencies on features provided in a specific release can be > expressed with greater structure and safety (if j801, are we running > Qt? if not, this code won't load). > > Thoughts? > Best, > Marc > > > On Tue, Mar 11, 2014 at 9:36 AM, bill lam <[email protected]> wrote: >> IFAIU starting from J8, previous versions (J7 and J6) need not be >> supported in svn trunk. defining IFJ6 in scripts is not a long term >> solution. IMO the proper solution is to detach J6/J7 addons: >> eliminates IFJ6 and release those addons for j801 only. A consequence >> is those addons for J6/J7 will not be updated from svn trunk. >> >> IFQT=0 for jconsole and JHS in J8, depending on context, it is not a >> replacement for IFJ6. >> >> On Tue, Mar 11, 2014 at 4:59 PM, Marc Simpson <[email protected]> wrote: >>> I just ran into the following issue with Rserve, >>> >>> require'stats/r/rserve' >>> |control error: script >>> | 3 :0'' >>> |[-8] /applications/j/j64-801/addons/stats/r/rdsock.ijs >>> >>> caused by an IFJ6 check on line 2. (IFJ6 is undefined in j801.) >>> >>> Reference to IFJ6 is made in the following addons, >>> >>> debug/lint/lint.ijs line 25 >>> general/dirutils/dirutils.ijs line 9 >>> graphics/plot/demo/plotdemo.ijs line 6 >>> graphics/plot/demo/plotdemos.ijs line 6 >>> stats/r/rdcmd.ijs line 2 >>> stats/r/rdcom.ijs line 2 >>> stats/r/rdsock.ijs line 2 >>> >>> The lint script is fine as the IFJ6 check only made if -.IFQT. Can the >>> rest be amended to do the same? >>> >>> Thanks, >>> Marc >>> ---------------------------------------------------------------------- >>> For information about J forums see http://www.jsoftware.com/forums.htm >> ---------------------------------------------------------------------- >> For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
