[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference iosg::all-in-1_v30

Title:*OLD* ALL-IN-1 (tm) Support Conference
Notice:Closed - See Note 4331.l to move to IOSG::ALL-IN-1
Moderator:IOSG::PYE
Created:Thu Jan 30 1992
Last Modified:Tue Jan 23 1996
Last Successful Update:Fri Jun 06 1997
Number of topics:4343
Total number of notes:18308

649.0. "OA$CURMES_xxx side effects" by MSDSWS::DUNCAN (I'm in trouble again!) Thu May 07 1992 16:56

    BL123A
    
Subject: OA$CURMES_xxx side effects

I have been checking out what effect the various document selection 
commands have on OA$CURDOC, OA$CURMES, and the related symbols.  I have 
found one undocumented "feature".  If OA$CURDOC and OA$CURMES point to 
different documents, then reading any of the OA$CURMES_xxx symbols causes 
all the OA$CURDOC_xxx symbols to be redefined in terms of the document 
OA$CURMES is pointing to.  OA$CURDOC itself is not changed, thus making 
it inconsistent with OA$CURDOC_xxx.  Also, reading OA$CURMES itself does 
not have this side effect.

I have attached a script I used to find this feature.  Just define #doc1, 
#doc2, #doc3, and #doc4 to point to different documents, make still 
another document current, and run the script.

I noticed one other thing I think changed in V3.0.  Although you can
	get oa$curmes = #doc
you can not
	get oa$curdoc = #doc
This is consistent with the documentation for both V3.0 and V2.4, since 
oa$curdoc is listed as a read-only symbol, while oa$curmes is RW.  
However, I think V2.4 would let you do it anyway.  If we do that in any 
of our scripts, they will break in V3.0.


.text "curdoc " oa$curdoc " " oa$curdoc_docnum
.text "curmes " oa$curmes " " oa$curmes_docnum
cab push
mail get #doc1
.text "MAIL GET doc1 " #doc1
.text "curdoc " oa$curdoc " " oa$curdoc_docnum
.text "curmes " oa$curmes " " oa$curmes_docnum
.text "curdoc " oa$curdoc " " oa$curdoc_docnum
cab current #doc2
.text "CAB CURRENT doc2 " #doc2
.text "curdoc " oa$curdoc " " oa$curdoc_docnum
.text "curmes " oa$curmes " " oa$curmes_docnum
.text "curdoc " oa$curdoc " " oa$curdoc_docnum
cab select #doc3:30,#doc3:6:30
.text "cab select #doc3 " #doc3
.text "curdoc " oa$curdoc " " oa$curdoc_docnum
.text "curmes " oa$curmes " " oa$curmes_docnum
.text "curdoc " oa$curdoc " " oa$curdoc_docnum
get oa$curmes = #doc4
.text "GET OA$CURMES = #doc4 " #doc4
.text "curdoc " oa$curdoc " " oa$curdoc_docnum
.text "curmes " oa$curmes " " oa$curmes_docnum
.text "curdoc " oa$curdoc " " oa$curdoc_docnum
cab pop
.text "CAB POP"
.text "curdoc " oa$curdoc " " oa$curdoc_docnum
.text "curmes " oa$curmes " " oa$curmes_docnum
.text "curdoc " oa$curdoc " " oa$curdoc_docnum
.text "the end"
prompt "All done"
    
T.RTitleUserPersonal
Name
DateLines
649.1Same on V2.4IOSG::MAURICEIOSG ain't a place to raise a kidThu May 07 1992 17:4325
    Hi,
    
> I noticed one other thing I think changed in V3.0.  Although you can
>	get oa$curmes = #doc
> you can not
>	get oa$curdoc = #doc
> This is consistent with the documentation for both V3.0 and V2.4, since 
> oa$curdoc is listed as a read-only symbol, while oa$curmes is RW.  
> However, I think V2.4 would let you do it anyway.  If we do that in any 
> of our scripts, they will break in V3.0.
    
    I've double-checked on a V2.4 system and oa$curdoc was a read-only
    symbol in V2.4.
    
    I've also have the explanation for the strange behaviour in your
    script. Doing <get oa$curmes is translated by the system into :
    
    	<get CAB$.DOCNUM[OA$CURMES]
    
    This action causes the oa$curdoc_* symbols to be refreshed. This
    behaviour is also the same in V2.4
    
    Cheers
    
    Stuart