  
  [1X5 [33X[0;0YRecords[133X[101X
  
  
  [1X5.1 [33X[0;0YFunctions for records[133X[101X
  
  [1X5.1-1 SetIfMissing[101X
  
  [29X[2XSetIfMissing[102X( [3Xrec[103X, [3Xname[103X, [3Xval[103X ) [32X function
  
  [33X[0;0YThis  function  is in the process of being transferred from package [5XAutoDoc[105X,
  where  it was called [10XAUTODOC_WriteOnce[110X. It writes into a record provided the
  position is not yet bound.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27Xr := rec( a := 1, b := 2 );;                                      [127X[104X
    [4X[25Xgap>[125X [27XSetIfMissing( r, "c", 3 );[127X[104X
    [4X[25Xgap>[125X [27XRecNames( r );[127X[104X
    [4X[28X[ "b", "c", "a" ][128X[104X
    [4X[25Xgap>[125X [27XSetIfMissing( r, "c", 4 );[127X[104X
    [4X[25Xgap>[125X [27Xr;[127X[104X
    [4X[28Xrec( a := 1, b := 2, c := 3 )[128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [1X5.1-2 AssignGlobals[101X
  
  [29X[2XAssignGlobals[102X( [3Xrec[103X ) [32X function
  
  [33X[0;0YThis  function is in the process of being transferred from package [5XRCWA[105X: for
  now you should [10XLoadPackage("rcwa")[110X in order to use it.[133X
  
  [33X[0;0YThis  function assigns the record components of [3Xrec[103X to global variables with
  the same names.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XAssignGlobals( r );[127X[104X
    [4X[28XThe following global variables have been assigned:[128X[104X
    [4X[28X[ "a", "b", "c" ][128X[104X
    [4X[25Xgap>[125X [27X[a,b,c];[127X[104X
    [4X[28X[ 1, 2, 3 ][128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
