Deutsch English Français Italiano |
<100cd5q$unbu$1@dont-email.me> View for Bookmarking (what is this?) Look up another Usenet article |
Path: news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail From: saito <saitology9@gmail.com> Newsgroups: comp.lang.tcl Subject: Re: Problems with paths of Windows Date: Sun, 18 May 2025 06:35:38 -0400 Organization: A noiseless patient Spider Lines: 25 Message-ID: <100cd5q$unbu$1@dont-email.me> References: <100ae16$fom5$1@dont-email.me> <100aepq$frvv$1@dont-email.me> <ba04ce42-d26a-4adf-a9ac-45b5d5266e5e@yahoo.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Sun, 18 May 2025 12:35:39 +0200 (CEST) Injection-Info: dont-email.me; posting-host="2f7ee05210964b319e6dc17bede4b4d7"; logging-data="1006974"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX198peWD0l56sjETOkWZUMKF" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:zAFeZ14x5rp+4tj7QS7Uqe8kXFE= Content-Language: en-US In-Reply-To: <ba04ce42-d26a-4adf-a9ac-45b5d5266e5e@yahoo.com> On 5/17/2025 10:36 PM, Luis Alejandro Muzzachiodi wrote: > given the following procedure > proc myproc { listofpaths } { > foreach p $listofpaths { > puts "$p - is valid? : [file isdirectory $p]" > } > } > if a parameter is passed as "$::env(SystemRoot)\my dir" > the result obtained is > C:Windowsmy - is valid? : 0 > dir - is valid? : 0 You know, the problem here is something else completely: your proc is expecting a list of file names. Instead it gets a string containing a single file name. So what happens is that the foreach loop takes that string, splits it into a list at each space character, and processes each part separately. So "$::env(SystemRoot)\my dir" turns into "$::env(SystemRoot)\my" and "dir" as you see in your output. You don't want this implicit conversion. Instead, turn your input into a proper list before calling your proc above and all should be good.