Changeset 76b12054 in tol


Ignore:
Timestamp:
Oct 15, 2010, 3:02:14 PM (16 years ago)
Author:
Víctor de Buen <vdebuen@…>
Branches:
1941-docker-image-to-test, devel, master
Children:
e499b62
Parents:
66d16b0
Message:

Fixes #922

git-svn-id: ​https://www.tol-project.org/svn/tolp/trunk@2580 be4846ae-f051-483a-831f-b64e7d08527f

File:
1 edited

Legend:

Unmodified
Added
Removed
  • tol/stdlib/TolConfigManager/methods.tol

    r66d16b0 r76b12054  
    2222      g=="Real", dec<<members[k],
    2323      g=="Date", dec<<members[k],
     24      g=="Set",  dec<<members[k],
    2425      g=="NameBlock", BuildExpression(members[k],margin+"  ")
    2526    )
    … …  
    3940
    4041//////////////////////////////////////////////////////////////////////////////
     42Text _.autodoc.member.MergeOptions=
     43"Merge default and user configurations";
     44NameBlock MergeOptions(NameBlock a, NameBlock b)
     45//////////////////////////////////////////////////////////////////////////////
     46{
     47  Set a_set = NameBlockToSet(a);
     48  Set b_set = NameBlockToSet(b);
     49  Set c_set = EvalSet(a_set, Anything(Anything element)
     50  {
     51    Text gra = Grammar(element);
     52    Text name = Name(element);
     53    Case(
     54    TextBeginWith(name, "_.autodoc.member."),
     55    {
     56      element
     57    },
     58    !ObjectExist(gra,"b::"+name),             
     59    {
     60      WriteLn("[MergeOptions] New configuration option "<<gra+" "+name+
     61      " will be set as default value \n"<<element ,"W");
     62      element
     63    },
     64    gra!="NameBlock",                         
     65    {
     66      Eval(gra+" b::"+name)
     67    },
     68    1==1,                                     
     69    {
     70      MergeOptions(element,Eval(gra+" b::"+name))
     71    })
     72  });
     73  Eval(Name(b)+"=SetToNameBlock(c_set)")
     74};
     75
     76//////////////////////////////////////////////////////////////////////////////
    4177Text _.autodoc.member.LoadConfig=
    4278"Loads configuration file. If not exists creates it with default values.";
    … …  
    4480//////////////////////////////////////////////////////////////////////////////
    4581{
    46   Real If(!FileExist(_.path),
     82  Case(!FileExist(_.path),
    4783  {
    48      SaveConfig(Default)
    49   });
    50   Include(_.path)[1]
     84    Real SaveConfig(Default);
     85    Include(_.path)[1]
     86  },
     87  1==1,
     88  {
     89    NameBlock Config =
     90      MergeOptions(TolConfigManager::Default, { Include(_.path)[1] });
     91    Real SaveConfig(Config);
     92    Config
     93  })
    5194};
    52 
Note: See TracChangeset for help on using the changeset viewer.