proc ev, ev0, to_eng: evaluate expr at global scope so global vars will be expanded correctly ($path)

This commit is contained in:
stefan schippers 2024-05-29 09:41:52 +02:00
parent 973d01f3bb
commit 5969b0f472
2 changed files with 6 additions and 4 deletions

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Id="*" Name="Xschem" Language="1033" Version="3.4.4" Manufacturer="Xschem" UpgradeCode="0deb9c17-cbbd-491c-be3e-24446b27ccd5">
<Product Id="*" Name="Xschem" Language="1033" Version="3.4.5" Manufacturer="Xschem" UpgradeCode="0deb9c17-cbbd-491c-be3e-24446b27ccd5">
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />
<WixVariable Id="WixUILicenseRtf"
Value="License.rtf" />

View File

@ -619,7 +619,7 @@ proc from_eng {i} {
## convert number to engineering form
proc to_eng {args} {
set suffix {}
set i [expr [join $args]]
set i [uplevel #0 expr [join $args]]
set absi [expr {abs($i)}]
if {$absi == 0.0} { set mult 1 ; set suffix {}
@ -646,9 +646,10 @@ proc to_eng {args} {
## evaluate expression. if expression has errors or does not evaluate return expression as is
proc ev {args} {
set i [join $args]
if {![catch {expr $i} res]} {
if {![catch {uplevel #0 expr $i} res]} {
return [format %.4g $res]
} else {
# puts stderr "proc ev: $res"
return $args
}
}
@ -656,9 +657,10 @@ proc ev {args} {
## evaluate expression. if expression has errors or does not evaluate return 0
proc ev0 {args} {
set i [join $args]
if {![catch {expr $i} res]} {
if {![catch {uplevel #0 expr $i} res]} {
return [format %.4g $res]
} else {
# puts stderr "proc ev0: $res"
return 0
}
}