| Deutsch English Français Italiano |
|
<vutid0$l1j2$1@dont-email.me> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail
From: Alan Grunwald <nospam.nurdglaw@gmail.com>
Newsgroups: comp.lang.tcl
Subject: Re: BUG: wrong usage for package loading with multiple versions
available
Date: Wed, 30 Apr 2025 17:15:25 +0100
Organization: A noiseless patient Spider
Lines: 55
Message-ID: <vutid0$l1j2$1@dont-email.me>
References: <vusso1$1tc3$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Wed, 30 Apr 2025 18:16:33 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="5a0396b510c2fefceb77ff407462b0ce";
logging-data="689762"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19FabQnmoZGhNPTURBIVLdX4eQ+LksVJS8="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:wM1VbnV+kg3B4QBud8by7WfQxXc=
Content-Language: en-US
In-Reply-To: <vusso1$1tc3$1@dont-email.me>
Bytes: 2595
On 30/04/2025 11:06, aotto1968 wrote:
> hi,
>
> The "-exact" option does NOT include the PARTIAL version number. To use the
> tcltest-2.3.8 package the EXACT version have to be "known".
>
> The CORE problem is that tcltest-2.3 and tcltest-2-5 have partly DIFFERENT
> syntax. The command "package require tcltest 2.3" should load the LATEST
> patch level from "tcltest-2.3.X"
>
>
> package require Tcl 8.5
> > 8.5.19
> package versions tcltest
> > 2.3.8 2.5.3
> info library
> > /path/to/lib/tcl8.5
> catch {package require -exact tcltest 2.3} msg
> > 1
> set msg
> > can't find package tcltest exactly 2.3
> package require tcltest 2.3
> > 2.5.3
>
>
> package require Tcl 8.5
> > 8.6.12
> package versions tcltest
> > 2.3.8 2.5.3
> info library
> > /path/to/lib/tcl8.6
> catch {package require -exact tcltest 2.3} msg
> > 1
> set msg
> > can't find package tcltest exactly 2.3
> package require tcltest 2.3
> > 2.5.3
OK. I'll bite.
From the manpage,
"package require -exact package version
" This form of the command is used when only the given version of
package is acceptable to the caller."
Since 2.5.3 isn't exactly 2.5, [package require -exact tcltest 2.5]
fails is only version 2.5.3 is available.
The second line of the manpage quote above goes on to state.
"This command is equivalent to package require package version-version."
I haven't checked, because I am, frankly, not interested, but
package require tcltest 2.3-2.3.9 might do what you want.