Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado
The /TEST keyword to DEFSYSV allows you to set default values for system variables; that is, if the value is not already set by an upstream process, DEFSYSV will set it. This is what the documentation says: https://harrisgeospatial.com/docs/DEFSYSV.html "TEST: Set this keyword to create a new system variable only if one does not currently exist." But when we try to do this: IDL> defsysv,'!VAR',0,/test % Keyword TEST not allowed in call to: DEFSYSV IOID (Implemented Only In Documentation)? --Edward H.
What version of IDL are you running? Your example works correctly for me in IDL 8.5.1 in both Linux and MacOS. On Tuesday, August 15, 2017 at 1:27:20 PM UTC-4, Edward Hyer wrote: > The /TEST keyword to DEFSYSV allows you to set default values for system variables; that is, if the value is not already set by an upstream process, DEFSYSV will set it. This is what the documentation says: > https://harrisgeospatial.com/docs/DEFSYSV.html > "TEST: Set this keyword to create a new system variable only if one does not currently exist." > > But when we try to do this: > > IDL> defsysv,'!VAR',0,/test > % Keyword TEST not allowed in call to: DEFSYSV > > IOID (Implemented Only In Documentation)? > > --Edward H.
… and correctly for me in IDL 8.5.1 on Windows. Cheers, -Dick Dick Jackson Software Consulting Inc. Victoria, BC, Canada --- http://www.d-jackson.com On Tuesday, 15 August 2017 10:57:30 UTC-7, wlandsman wrote: > What version of IDL are you running? Your example works correctly for me in IDL 8.5.1 in both Linux and MacOS. > > On Tuesday, August 15, 2017 at 1:27:20 PM UTC-4, Edward Hyer wrote: >> The /TEST keyword to DEFSYSV allows you to set default values for system variables; that is, if the value is not already set by an upstream process, DEFSYSV will set it. This is what the documentation says: >> https://harrisgeospatial.com/docs/DEFSYSV.html >> "TEST: Set this keyword to create a new system variable only if one does not currently exist." >> >> But when we try to do this: >> >> IDL> defsysv,'!VAR',0,/test >> % Keyword TEST not allowed in call to: DEFSYSV >> >> IOID (Implemented Only In Documentation)? >> >> --Edward H.
On Thursday, August 17, 2017 at 10:40:38 AM UTC-7, Dick Jackson wrote: > … and correctly for me in IDL 8.5.1 on Windows. > > Cheers, > -Dick > > Dick Jackson Software Consulting Inc. > Victoria, BC, Canada --- http://www.d-jackson.com > > On Tuesday, 15 August 2017 10:57:30 UTC-7, wlandsman wrote: >> What version of IDL are you running? Your example works correctly for me in IDL 8.5.1 in both Linux and MacOS. >> >> On Tuesday, August 15, 2017 at 1:27:20 PM UTC-4, Edward Hyer wrote: >>> The /TEST keyword to DEFSYSV allows you to set default values for system variables; that is, if the value is not already set by an upstream process, DEFSYSV will set it. This is what the documentation says: >>> https://harrisgeospatial.com/docs/DEFSYSV.html >>> "TEST: Set this keyword to create a new system variable only if one does not currently exist." >>> >>> But when we try to do this: >>> >>> IDL> defsysv,'!VAR',0,/test >>> % Keyword TEST not allowed in call to: DEFSYSV >>> >>> IOID (Implemented Only In Documentation)? >>> >>> --Edward H. 8.2.3 on Linux, does not work. Doesn't really matter, it's a two-line workaround using the EXISTS= keyword, but the documentation doesn't indicate this feature is new.
Hi Ed! Seems to have been added in IDL 8.5 (or perhaps 8.4.x): IDL> print, !version { x86_64 linux unix linux 8.4 Sep 27 2014 64 64} IDL> defsysv,'!VAR',0,/test % Keyword TEST not allowed in call to: DEFSYSV % Execution halted at: $MAIN$ IDL> print, !version { x86_64 linux unix linux 8.5 Jul 7 2015 64 64} IDL> defsysv,'!VAR',0,/test IDL> print, !var 0 Cheers, Louis