EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  <20042005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  <20042005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: found a bug in 3.13.9 dbLoadTemplate - after all that time
From: kuner <[email protected]>
To: Marty Kraimer <[email protected]>, [email protected]
Date: Wed, 02 Jun 2004 15:28:27 +0200
Marty Kraimer wrote:

First I want to make sure I understand what you are saying.

If a substitution file contains

file test.template {
{ NAME="X", HOPR="9", LOPR="1"}
}
file test1.template {
{ NAME="Y" }
}

You are saying that any appearences of $(HOPR) or $(LOPR) in test1.template should NOT be expanded.

Yes, because the definition of a value in the first template probably hasn't to do anything with the value of the second one but the name. Every template has to have its own macro expansions. The behavior now avoids an error when the .db will be loaded and sets it to anything. Mistakes like this cause a bad behavior of the database and are not easy to find.


Both dbLoadTemplate and msi (Macro Substitution and Include) expand $(HOPR) and $(LOPR) using the last definition they received. Thus in the above they will be expanded using HOPR="9", LOPR="1"

krautig, gruselig, bad and evil.


I can see either semantic definition being valid. Since the existing semantics have been in use for many years, it does not seem to be good idea to make a change. Many users may rely on the existing semantics.

And how many of them are traped by this? You mean a .substitution file like this should work??


 file defineAnything.template {
   { FIRST="1",SECOND="2",THIRD="3",VIERTER="4",FUENFTER="5",SECHSTER="6" }
 }
 file takeSomething.template {
 }
 file takeSomeOtherThing.template {
 }
 file takeItOrLeaveIt.template {
 }

This will expand to... to what? (May be, C-Hardcorepragrammer would like it)

best regards

Bernahrd Kuner

--
-------------------------------------------------------------------
-- [email protected] ----------- Bessy Gmbh -----------------
-- +49 30 6392 4981 ------------------ Albert Einstein Strasse 15 -
-------------------------------------- 12489 Berlin ---------------


References:
found a bug in 3.13.9 dbLoadTemplate - after all that time kuner
Re: found a bug in 3.13.9 dbLoadTemplate - after all that time Marty Kraimer

Navigate by Date:
Prev: Re: found a bug in 3.13.9 dbLoadTemplate - after all that time Marty Kraimer
Next: Re: found a bug in 3.13.9 dbLoadTemplate - after all that time kuner
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  <20042005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: found a bug in 3.13.9 dbLoadTemplate - after all that time Marty Kraimer
Next: Re: found a bug in 3.13.9 dbLoadTemplate - after all that time kuner
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  <20042005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 10 Aug 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·