On Tuesday October 11 2016 16:04:21 René J.V. Bertin wrote: >{{{ >proc macports::normalize { filename } { > set nprefix [file dirname [file normalize "${macports::prefix}/foo"]] > return [string map {${nprefix} ${macports::prefix}} [file normalize > $filename]] >} >}}}
For some reason [string map] doesn't work when I use the above variables; it did when using the strings relevant for my system?? This does work though: {{{ proc macports::normalize { filename } { # normalise the user-specified prefix. The test file under $prefix need not exist for that: set nprefix [file dirname [file normalize "${macports::prefix}/foo"]] set file [file normalize $filename] # check if the result starts with the "normalised" prefix: if {$nprefix ne $macports::prefix && [string first $nprefix $file] eq 0} { # obtain the part after the normalised prefix, and prepend the user-specific prefix to it: set file [file join $macports::prefix [string range $file [string length $nprefix]+1 end]] } return $file } }}} R. _______________________________________________ macports-dev mailing list macports-dev@lists.macosforge.org https://lists.macosforge.org/mailman/listinfo/macports-dev