Date: Mon, 17 Jun 2024 16:11:14 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: add additional subcommand for the "chan" tcl command? Newsgroups: comp.lang.tcl References: Content-Language: en-US From: Schelte In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Message-ID: Organization: KPN B.V. Path: ...!weretis.net!feeder9.news.weretis.net!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!feed.abavia.com!abe004.abavia.com!abp003.abavia.com!news.kpn.nl!not-for-mail Lines: 33 Injection-Date: Mon, 17 Jun 2024 16:11:16 +0200 Injection-Info: news.kpn.nl; mail-complaints-to="abuse@kpn.com" Bytes: 1946 On 17/06/2024 15:20, aotto1968 wrote: >  I would like to add "chan exists str" just to signal a boolean return > on exists and I want to do this >  *without* to touch the tcl distribution. > >  there is already a feature like "::tcl:mathfunc::????" to add an > additional function to "expr" and I >  ask me now it is possible to do such a kind of "addition" to the > "chan" command as well ? > The chan command is an ensemble, so you can add your own subcommands. It is a bit more work than adding a math function, but not too much: proc chanexists {fd} { return [expr {$fd in [chan names]}] } namespace ensemble configure chan -map [dict replace \ [namespace ensemble configure chan -map] exists ::chanexists] After that, you get the following results: % chan help unknown or ambiguous subcommand "help": must be blocked, close, configure, copy, create, eof, event, exists, flush, gets, names, pending, pipe, pop, postevent, push, puts, read, seek, tell, or truncate % chan exists stdin 1 % chan exists nosuchchan 0 Schelte.