Andreas Kupries | 6 Feb 18:02
Picon
Gravatar

It begins - Fwd: Google Summer of Code 2012 Announced


-------- Original Message --------
Subject: 	Google Summer of Code 2012 Announced
Date: 	Sat, 4 Feb 2012 08:43:11 -0800
From: 	Carol Smith <carols@...>
Reply-To: 	google-summer-of-code-announce@...
To: 	Google Summer of Code Announce
<google-summer-of-code-announce@...>

Hi all,

We're pleased to announce that Google Summer of Code will be happening for its
eighth year this year. Please check out the blog post [1] about the program and
read the FAQs [2] and Timeline [3] on Melange for more information.

[1] -
http://google-opensource.blogspot.com/2012/02/google-summer-of-code-2012-is-on.html
[2] -
http://www.google-melange.com/gsoc/document/show/gsoc_program/google/gsoc2012/faqs
[3] - http://www.google-melange.com/gsoc/events/google/gsoc2012

Cheers,
Carol

--

-- 
You received this message because you are subscribed to the Google Groups
"Google Summer of Code Announce" group.
To post to this group, send email to
google-summer-of-code-announce@...
To unsubscribe from this group, send email to
(Continue reading)

Brian Griffin | 4 Feb 20:43
Favicon
Gravatar

Pthread+NotifierThreadProc problem

Hi Experts!

We noticed a serious problem when moving to threaded Tcl, the cost of [update] is killing our performance.  
Has anyone dug into this problem to figure out what's going on?  

Here's the testcase:

$ cat time_update.tcl
puts $tcl_patchLevel
parray tcl_platform
set i 0; puts "with update: [time {while {$i < 1000000} {incr i; update}}]"
set i 0; puts "without update: [time {while {$i < 1000000} {incr i}}]"
exit


Here's some numbers:

ActiveTcl8.5.11.0.295402-linux-ix86-threaded:
$ tclsh8.5 time_update.tcl
8.5.11
tcl_platform(byteOrder)   = littleEndian
tcl_platform(machine)     = x86_64
tcl_platform(os)          = Linux
tcl_platform(osVersion)   = 2.6.16.60-0.21-smp
tcl_platform(platform)    = unix
tcl_platform(pointerSize) = 4
tcl_platform(threaded)    = 1
tcl_platform(user)        = bgriffin
tcl_platform(wordSize)    = 4
with update: 27683665 microseconds per iteration
without update: 371879 microseconds per iteration

Local threaded build of 8.5.8:
$ tclsh8.5 time_update.tcl                                    <
8.5.8
tcl_platform(byteOrder)   = littleEndian
tcl_platform(machine)     = x86_64
tcl_platform(os)          = Linux
tcl_platform(osVersion)   = 2.6.16.60-0.21-smp
tcl_platform(platform)    = unix
tcl_platform(pointerSize) = 4
tcl_platform(threaded)    = 1
tcl_platform(user)        = bgriffin
tcl_platform(wordSize)    = 4
with update: 27861736 microseconds per iteration
without update: 346516 microseconds per iteration


Local non-threaded build of 8.4.14:
$ tclsh8.4 time_update.tcl                               <
8.4.14
tcl_platform(byteOrder) = littleEndian
tcl_platform(machine)   = x86_64
tcl_platform(os)        = Linux
tcl_platform(osVersion) = 2.6.16.60-0.21-smp
tcl_platform(platform)  = unix
tcl_platform(user)      = bgriffin
tcl_platform(wordSize)  = 4
with update: 706942 microseconds per iteration
without update: 235005 microseconds per iteration

------------------------------------------------------------------------------
Try before you buy = See our experts in action!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-dev2
_______________________________________________
Tcl-Core mailing list
Tcl-Core@...
https://lists.sourceforge.net/lists/listinfo/tcl-core
Andreas Kupries | 1 Feb 20:26
Picon

Fwd: [Jim-devel] Backporting code from Redis to Jim Tcl


-------- Original Message --------
Subject: [Jim-devel] Backporting code from Redis to Jim Tcl
Date: Wed, 1 Feb 2012 20:07:20 +0100
From: Salvatore Sanfilippo <antirez@...>
Reply-To: Jim Tcl Development <jim-devel@...>
To: jim-devel@...

Hello,

I was surfing the Jim Tcl source code tonight, and encountered an
implementation of the hash table that is basically what is now
'dict.c/h' in Redis.
I'm not aware of bugs in this code, but the new code in Redis supports
a feature that may be interesting for embedded systems, and is not
significantly larger than the implementation used for Jim Tcl:

$ wc -l dict.[ch]
      766 dict.c
      173 dict.h
      939 total

The current Jim Tcl hash table is 923 lines of code, so the two
implementations are comparable in size.

However the new implementation offers an advantage that may be very
interesting in embedded / real-time systems, that is, it does not need
to block when rehashing, since the rehashing is performed
incrementally. This means that some more memory is used during the
rehashing as if the current table is, for instance, 64 buckets, we
need to allocate a new one with 128 buckets and for some time we'll
have to take both (but this is just the table, the elements will be
the same so the real overhead is much smaller if those entries are
pointing to Jim objects).

Since Jim Tcl uses, like Tcl, an automatic memory management based on
reference counting, that is already a non blocking thing very suited
for realtime, it is a shame that adding the N-th variable or procedure
to the hash table will cause Jim to block for some millisecond (or
much more if there are many registered variables / fields / procs /
whatever).

Another benefit of the new implementation is that it is able to
extract a random element from an hash table, that is another feature
that can be interesting both for random sampling to do incremental
cleanups, or to export the random-element feature directly at user
level.

I think that even with all this changes the API is conceptually
compatible, so porting should not be a huge amount of work, but still
it is worth doing it only if it makes sense in some use case where Jim
is currently applied.

Well just my 2 cents :) I'm not suggesting this is really a valid
feature, just wanted to point out that in the process of Jim -> Redis
something was improved (see also ae.c in Redis), and may make sense to
backport the changes back maybe.

If I can help providing more informations about dict.c/h I'm at your disposal.

Cheers,
Salvatore

--

-- 
Salvatore 'antirez' Sanfilippo
open source developer - VMware

http://invece.org
"We are what we repeatedly do. Excellence, therefore, is not an act,
but a habit." -- Aristotele
_______________________________________________
Jim-devel mailing list
Jim-devel@...
http://sqlite.org:8080/cgi-bin/mailman/listinfo/jim-devel

------------------------------------------------------------------------------
Keep Your Developer Skills Current with LearnDevNow!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-d2d
Kevin Kenny | 26 Jan 17:24
Picon
Gravatar

CFV: TIP #395: New 'string is entier' Command

Jos Decoster, the author of TIP #395, informs me that he considers it to 
be in its final form and ready for vote.

Accordingly, I'm calling for the vote on it.

Please send votes to me by [clock format 1328288400].

--

-- 
73 de ke9tv/2, Kevin

------------------------------------------------------------------------------
Keep Your Developer Skills Current with LearnDevNow!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-d2d
François Vogel | 21 Jan 12:14
Picon
Favicon

Investigating

Dear all,

I'm currently striving to tackle prio 8 Tk bug 1630271:

https://sourceforge.net/tracker/?func=detail&aid=1630271&group_id=12997&atid=112997

I have asked some questions in that ticket since I'm wondering what 
the behaviour should be regarding marks located outside the 
-startline/-endline range of the text widget.

Could you please take a look there and share your thoughts?

Thanks.
Francois

------------------------------------------------------------------------------
Try before you buy = See our experts in action!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-dev2
Alexander Shpilkin | 18 Jan 01:13
Picon
Gravatar

Use cases for objects

Hello all,

I have been recently working on an object system for Jim based on the
new ensemble functionality[1]. So, I'd be glad to hear any use cases or
real-life experience of object-based design in Jim or Tcl programs, just
to have something to test the ideas on. Even examples of small class
(object? prototype?) hierarchies would be very useful.

The current version is a relatively simple prototype-based design with
more advanced features like multiple dispatch and traits added on top of
it. Parts of it will probably be written in C, but the current pure-Tcl
implementation is already available at [2]. Thoughts and comments on any
aspects are very welcome, too. (There's at least one major problem in
it: objects never get garbage-collected, because a cyclic reference is
always created. Some features may not be complete.)

Thank you for your help.

Regards,
Alex

[1] See the ensemble branch of https://github.com/alex-shpilkin/jimtcl
[2] https://gist.github.com/1617948 (usage examples at the end)

------------------------------------------------------------------------------
Keep Your Developer Skills Current with LearnDevNow!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-d2d
fvogelnew1 | 16 Jan 14:24
Picon
Favicon

Text widget patches - call for review

Hello all,

I have been proposing several patches to the text widget in the last days:

1. Mark next/prev with peer text widgets

https://sourceforge.net/tracker/?func=detail&atid=312997&aid=3471873&group_id=12997
(this one fixes two bugs, which are items 3288113 and 3288121)

2. Moving the cursor in elided text freezes Tk

https://sourceforge.net/tracker/?func=detail&aid=3472539&group_id=12997&atid=312997

And I'm currently nursing further patches concerning other reported issues.

Referring to TIP #30, Vince Darley and Jeff Hobbs are identified as the text widget maintainers. Jeff being
also the maintainer for a lot of other stuff I'm expecting him to be quite busy, so I have privately asked
Vince to review the patches. He kindly replied that he had taken a very quick look at them, and that in his
opinion they seem perfectly sensible/correct. However, he admitted he has no time for any active
maintenance work. For this reason he advised me to ask for assistance of another maintainer on this list.

What I'm afraid of is that review and commit get delayed for quite a long time, which is a situation conveying
serious drawbacks IMO:
  - the patches could not blend seamlessly in a later version of the code
  - I currently have all the background fresh in my mind, in case something needs to be changed
  - I (and for sure other people as well) would certainly get demotivated in providing patches if it turns out
that the bottleneck is patch review or lack of maintainers

As a consequence I am now calling for your help in reviewing/committing these patches.

Thanks to all for your involvement.

With kind regards,
Francois

------------------------------------------------------------------------------
RSA(R) Conference 2012
Mar 27 - Feb 2
Save $400 by Jan. 27
Register now!
http://p.sf.net/sfu/rsa-sfdev2dev2
Steve Bennett | 23 Dec 06:45
Picon
Favicon
Gravatar

ANNOUNCE: Jim Tcl 0.73 Released

ANNOUNCE: Jim Tcl version 0.73
==============================

Jim Tcl 0.73 has been released and is available from: 

http://repo.or.cz/w/jimtcl.git or https://github.com/msteveb/jimtcl

Find out all about Jim Tcl at http://jim.tcl.tk/

CHANGES SINCE VERSION 0.72
==========================

This release incorporates bug fixes and many new features.
A summary is below. See git for the full changelog.

Bugs fixed in version 0.73
--------------------------
* exec on cygwin now correctly passes $::env
* On mingw and cygwin, --shared creates libjim.dll rather than libjim.so
* UTF-8 case folding may change the encoded length
* Fix a regexp infinite loop on invalid UTF-8 strings
* Prevent infinite recursion in eval
* Don't allow upvar to a higher level
* regexp counted matches may be wrong on subsequent use
* Form feed (\f) is a valid white space character
* Parsing bug for quoted orphan $
* Standard handles were not being kept open
* Fix edge cases with tailcall

Features added in version 0.73
------------------------------
* Added support for namespaces and the namespace command
* The "full" sqlite3 extension is included in the repo
* Built-in regexp now support non-capturing parentheses: (?:...)
* Added string replace and string totitle
* Added info statics to access proc static variables
* Added info alias to access the target of an alias
* Added build-jim-ext for easy separate building of loadable modules (extensions)
* local now works with any command, not just procs
* UTF-8 encoding past the basic multilingual plane (BMP) is supported
* Added tcl::prefix
* Added the history command to access command line editing and history from scripts
* Added a Tcl-compatible apply command
* Most extensions are now enabled by default
* Jim Tcl now compiles with MSVC on Windows (but no build support)

WHAT IS Jim Tcl?
================

Jim is an implementation of the Tcl language, designed to be
small, fast and easy to cross-compile. It includes many features from
Tcl 8.4, 8.5 and 8.6, plus additional Jim-only features such as
lambdas, references and garbage collection.

WHERE IS Jim Tcl?
=================

Repository:    http://repo.or.cz/w/jimtcl.git
Project Page:  http://jim.tcl.tk/
Documentation: http://jim.tcl.tk/fossil/doc/trunk/Tcl_shipped.html
Wiki page:     http://wiki.tcl.tk/Jim
Mailing List:  http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel

--
µWeb: Embedded Web Framework - http://uweb.workware.net.au/
WorkWare Systems Pty Ltd
W: www.workware.net.au      P: +61 434 921 300
E: steveb@...   F: +61 7 3391 6002

------------------------------------------------------------------------------
Write once. Port to many.
Get the SDK and tools to simplify cross-platform app development. Create 
new or port existing apps to sell to consumers worldwide. Explore the 
Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
http://p.sf.net/sfu/intel-appdev
Andreas Kupries | 13 Dec 20:11
Picon

Tcllib 1.14 released


Tcllib 1.14 has been released, and tagged as such in the CVS.
The distribution archives can be found at

	https://sourceforge.net/projects/tcllib/files/tcllib/1.14/

The attached README provides an overview of the changes in this release and can 
be found at the above site as well.

-- 
Andreas Kupries
Senior Tcl Developer
ActiveState, The Dynamic Language Experts

P: 778.786.1122
F: 778.786.1133
andreask@...
http://www.activestate.com
Get insights on Open Source and Dynamic Languages at www.activestate.com/blog
Overview
========

    21  new packages                in 7   modules
    30  changed packages            in 24  modules
    8   internally changed packages in 8   modules
    328 unchanged packages          in 89  modules
    393 packages, total             in 107 modules, total

New in tcllib 1.14
==================

    Module             Package                           New Version   Comments
    ------------------ --------------------------------- ------------- ----------
    lambda             lambda                            1
    math               math::decimal                     1.0.2         T
    ooutil             oo::util                          1
    pt                 pt::peg::import::peg              1
    try                try                               1
    ------------------ --------------------------------- ------------- ----------
    valtype            valtype::common                   1
                       valtype::creditcard::amex         1
                       valtype::creditcard::discover     1
                       valtype::creditcard::mastercard   1
                       valtype::creditcard::visa         1
                       valtype::gs1::ean13               1
                       valtype::iban                     1
                       valtype::imei                     1
                       valtype::isbn                     1
                       valtype::luhn                     1
                       valtype::luhn5                    1
                       valtype::usnpi                    1
                       valtype::verhoeff                 1
    ------------------ --------------------------------- ------------- ----------
    virtchannel_base   tcl::chan::cat                    1.0.1
                       tcl::chan::facade                 1.0.1
                       tcl::chan::std                    1.0.1
    ------------------ --------------------------------- ------------- ----------

Changes from tcllib 1.13 to 1.14
================================

                                                            tcllib 1.13   tcllib 1.14
    Module             Package                              Old Version   New Version   Comments
    ------------------ ------------------------------------ ------------- ------------- ----------
    cmdline            cmdline                              1.3.2         1.3.3         B T
    ------------------ ------------------------------------ ------------- ------------- ----------
    coroutine          coroutine                            1             1.1           B
                       coroutine::auto                      1             1.1           B
    ------------------ ------------------------------------ ------------- ------------- ----------
    csv                csv                                  0.7.2         0.7.3         B D T
    doctools           doctools                             1.4.11        1.4.13        B T
    fileutil           fileutil::traverse                   0.4.1         0.4.2         B
    ftp                ftp                                  2.4.9         2.4.11        B
    ftpd               ftpd                                 1.2.5         1.2.6         B
    grammar_peg        grammar::peg::interp                 0.1           0.1.1         B
    inifile            inifile                              0.2.3         0.2.4         B
    interp             interp                               0.1.1         0.1.2         B
    jpeg               jpeg                                 0.3.5         0.4.0         I D
    ------------------ ------------------------------------ ------------- ------------- ----------
    json               json                                 1.1.1         1.1.2         B T
                       json::write                          1             1.0.1         B
    ------------------ ------------------------------------ ------------- ------------- ----------
    map                map::slippy                          0.3           0.4           B D T
    pki                pki                                  0.1           0.2           B T
    ------------------ ------------------------------------ ------------- ------------- ----------
    pt                 pt::pgen                             1             1.0.1         B
                       pt::rde                              1.0.1         1.0.2         B T
                       pt::tclparam::configuration::tcloo   1.0.1         1.0.2         B T
    ------------------ ------------------------------------ ------------- ------------- ----------
    rest               rest                                 1.0.0         1.0           ---
    simulation         simulation::random                   0.1           0.3           B D
    smtpd              smtpd                                1.4.0         1.5           EF
    struct             struct::list                         1.8           1.8.1         B
    term               term::ansi::ctrl::unix               0.1           0.1.1         B
    textutil           textutil::adjust                     0.7           0.7.1         B
    uri                uri                                  1.2.1         1.2.2         B
    ------------------ ------------------------------------ ------------- ------------- ----------
    virtchannel_base   tcl::chan::memchan                   1             1.0.2         B
                       tcl::chan::string                    1             1.0.1         B
                       tcl::chan::variable                  1             1.0.2         B
    ------------------ ------------------------------------ ------------- ------------- ----------
    yaml               yaml                                 0.3.5         0.3.6         B
    ------------------ ------------------------------------ ------------- ------------- ----------

Invisible changes (documentation, testsuites)
=============================================

                                                      tcllib 1.13   tcllib 1.14
    Module        Package                             Old Version   New Version   Comments
    ------------- ----------------------------------- ------------- ------------- ----------
    base64        base64                              2.4.2         2.4.2         T
    hook          hook                                0.1           0.1           D
    math          math::linearalgebra                 1.1.4         1.1.4         D
    multiplexer   multiplexer                         0.2           0.2           T
    pop3          pop3                                1.8           1.8           T
    pop3d         pop3d                               1.1.0         1.1.0         T
    pt            pt::cparam::configuration::critcl   1.0.1         1.0.1         T
    tepam         tepam                               0.2.0         0.2.0         T
    ------------- ----------------------------------- ------------- ------------- ----------

Unchanged
=========

    aes, ascii85, asn, autoproxy, base32, base32::core, base32::hex,
    bee, bench, bench::in, bench::out::csv, bench::out::text,
    bibtex, blowfish, cache::async, calendar, char, cksum, comm,
    configuration, control, counter, crc16, crc32, des, dns,
    docstrip, docstrip::util, doctools::changelog, doctools::config,
    doctools::cvs, doctools::html, doctools::html::cssdefaults,
    doctools::idx, doctools::idx, doctools::idx::export,
    doctools::idx::export::docidx, doctools::idx::export::html,
    doctools::idx::export::json, doctools::idx::export::nroff,
    doctools::idx::export::text, doctools::idx::export::wiki,
    doctools::idx::import, doctools::idx::import::docidx,
    doctools::idx::import::json, doctools::idx::parse,
    doctools::idx::structure, doctools::msgcat,
    doctools::msgcat::idx::c, doctools::msgcat::idx::de,
    doctools::msgcat::idx::en, doctools::msgcat::idx::fr,
    doctools::msgcat::toc::c, doctools::msgcat::toc::de,
    doctools::msgcat::toc::en, doctools::msgcat::toc::fr,
    doctools::nroff::man_macros, doctools::paths,
    doctools::tcl::parse, doctools::text, doctools::toc,
    doctools::toc, doctools::toc::export,
    doctools::toc::export::doctoc, doctools::toc::export::html,
    doctools::toc::export::json, doctools::toc::export::nroff,
    doctools::toc::export::text, doctools::toc::export::wiki,
    doctools::toc::import, doctools::toc::import::doctoc,
    doctools::toc::import::json, doctools::toc::parse,
    doctools::toc::structure, exif, fileutil,
    fileutil::magic::cfront, fileutil::magic::cgen,
    fileutil::magic::filetype, fileutil::magic::mimetype,
    fileutil::magic::rt, fileutil::multi, fileutil::multi::op,
    ftp::geturl, gpx, grammar::aycock, grammar::aycock::debug,
    grammar::aycock::runtime, grammar::fa, grammar::fa::dacceptor,
    grammar::fa::dexec, grammar::fa::op, grammar::me::cpu,
    grammar::me::cpu::core, grammar::me::cpu::gasm,
    grammar::me::tcl, grammar::me::util, grammar::peg, html,
    htmlparse, huddle, ident, imap4, interp::delegate::method,
    interp::delegate::proc, ip, irc, javascript, ldap, ldapx, log,
    logger, logger::appender, logger::utils, map::slippy::cache,
    map::slippy::fetcher, mapproj, math, math::bigfloat,
    math::bignum, math::calculus, math::calculus::symdiff,
    math::complexnumbers, math::constants, math::fourier,
    math::fuzzy, math::geometry, math::interpolate,
    math::machineparameters, math::numtheory, math::optimize,
    math::polynomials, math::rationalfunctions, math::roman,
    math::special, math::statistics, md4, md5, md5crypt, mime,
    nameserv, nameserv::auto, nameserv::common, nameserv::server,
    namespacex, ncgi, nmea, nntp, otp, page::analysis::peg::emodes,
    page::analysis::peg::minimize, page::analysis::peg::reachable,
    page::analysis::peg::realizable, page::compiler::peg::mecpu,
    page::config::peg, page::gen::peg::canon, page::gen::peg::cpkg,
    page::gen::peg::hb, page::gen::peg::me, page::gen::peg::mecpu,
    page::gen::peg::ser, page::gen::tree::text, page::parse::lemon,
    page::parse::peg, page::parse::peghb, page::parse::pegser,
    page::pluginmgr, page::reader::hb, page::reader::lemon,
    page::reader::peg, page::reader::ser, page::reader::treeser,
    page::transform::mecpu, page::transform::reachable,
    page::transform::realizable, page::util::flow,
    page::util::norm::lemon, page::util::norm::peg, page::util::peg,
    page::util::quote, page::writer::hb, page::writer::identity,
    page::writer::me, page::writer::mecpu, page::writer::null,
    page::writer::peg, page::writer::ser, page::writer::tpc,
    page::writer::tree, paths, picoirc, pluginmgr, png, pop3d::dbox,
    pop3d::udb, profiler, pt::ast, pt::parse::peg, pt::pe,
    pt::pe::op, pt::peg, pt::peg::container,
    pt::peg::container::peg, pt::peg::export,
    pt::peg::export::container, pt::peg::export::json,
    pt::peg::export::peg, pt::peg::from::json, pt::peg::from::peg,
    pt::peg::import, pt::peg::import::json, pt::peg::interp,
    pt::peg::op, pt::peg::to::container, pt::peg::to::cparam,
    pt::peg::to::json, pt::peg::to::param, pt::peg::to::peg,
    pt::peg::to::tclparam, pt::tclparam::configuration::snit, rc4,
    rcs, report, resolv, ripemd128, ripemd160, S3, SASL, SASL::NTLM,
    SASL::XGoogleToken, sha1, sha256, simulation::annealing,
    simulation::montecarlo, smtp, snit, soundex, spf, stooop,
    stringprep, stringprep::data, struct, struct::disjointset,
    struct::graph, struct::graph::op, struct::matrix, struct::pool,
    struct::prioqueue, struct::queue, struct::record, struct::set,
    struct::skiplist, struct::stack, struct::tree, sum, switched,
    tar, tcl::chan::core, tcl::chan::events, tcl::chan::fifo,
    tcl::chan::fifo2, tcl::chan::halfpipe, tcl::chan::null,
    tcl::chan::nullzero, tcl::chan::random, tcl::chan::textwindow,
    tcl::chan::zero, tcl::randomseed, tcl::transform::adler32,
    tcl::transform::base64, tcl::transform::core,
    tcl::transform::counter, tcl::transform::crc32,
    tcl::transform::hex, tcl::transform::identity,
    tcl::transform::limitsize, tcl::transform::observe,
    tcl::transform::otp, tcl::transform::rot,
    tcl::transform::spacer, tcl::transform::zlib, tclDES, tclDESjr,
    term, term::ansi::code, term::ansi::code::attr,
    term::ansi::code::ctrl, term::ansi::code::macros,
    term::ansi::send, term::interact::menu, term::interact::pager,
    term::receive, term::receive::bind, term::send, text::write,
    textutil, textutil::expander, textutil::repeat, textutil::split,
    textutil::string, textutil::tabify, textutil::trim, tie,
    tie::std::array, tie::std::dsource, tie::std::file,
    tie::std::growfile, tie::std::log, tie::std::rarray, tiff, time,
    transfer::connect, transfer::copy, transfer::copy::queue,
    transfer::data::destination, transfer::data::source,
    transfer::receiver, transfer::transmitter, treeql, uevent,
    uevent::onidle, unicode, unicode::data, units, uri::urn,
    uuencode, uuid, wip, xsxp, yencode

Legend  Change  Details Comments
        ------  ------- ---------
        Major   API:    ** incompatible ** API changes.

        Minor   EF :    Extended functionality, API.
                I  :    Major rewrite, but no API change

        Patch   B  :    Bug fixes.
                EX :    New examples.
                P  :    Performance enhancement.

        None    T  :    Testsuite changes.
                D  :    Documentation updates.

------------------------------------------------------------------------------
Systems Optimization Self Assessment
Improve efficiency and utilization of IT resources. Drive out cost and 
improve service delivery. Take 5 minutes to use this Systems Optimization 
Self Assessment. http://www.accelacomm.com/jaw/sdnl/114/51450054/
_______________________________________________
Tcl-Core mailing list
Tcl-Core@...
https://lists.sourceforge.net/lists/listinfo/tcl-core
Jos Decoster | 13 Dec 14:44
Picon
Gravatar

TIP #395: New 'string is entier' Command


 TIP #395: NEW 'STRING IS ENTIER' COMMAND 
==========================================
 Version:        $Revision: 1.2 $
 Author:         Jos Decoster <jos.decoster_at_gmail.com>
 State:          Draft
 Type:           Project
 Tcl-Version:    8.6
 Vote:           Pending
 Created:        Tuesday, 13 December 2011
 URL:            http://purl.org/tcl/tip/395.html
 WebEdit:        http://purl.org/tcl/tip/edit/395
 Discussions-To: news:comp.lang.tcl
 Post-History:   
 Obsoletes:      TIP #347

-------------------------------------------------------------------------

 ABSTRACT 
==========

 The *string is* command supports tests for a number of Tcl's basic 
 types, for example, integers, doubles, and booleans. One common case is 
 missing: checking if a value is an integer number without particular 
 storage width, unlike *string is integer* and *string is wideinteger*. 
 This document proposes to augment the *string is* command with a 
 *string is entier*. 

 RATIONALE 
===========

 Tcl makes it easy to work with integers larger than 64 bit (big nums). 
 The *expr* command supports operations on unlimited bit widths. 
 Checking if a string contains a valid integer value is possible with 
 the *string is integer* and *string is wideinteger* commands for 
 integers of particular storage widths (e.g. 32 bit for integers and 64 
 bit for wide integers). But checking if a string contains a valid 
 integer wider than a *wideinteger* is not possible with a *string is* 
 command. Checking if a string contains a valid big num can now be done 
 with a regular expression or by *catch*-ing the 
 *::tcl::mathfunc::entier* function. 

 SPECIFICATION 
===============

 This document proposes to augment the *string is* command with a 
 *string is entier* which functions the same as *string is integer* in 
 every respect except for the fact that it accepts any string containing 
 a substring that is valid as a bignum integer (that is, acceptable to 
 /Tcl_GetBignumFromObj/) possibly surrounded by whitespace. 

 COMPATIBILITY 
===============

 No incompatibilities are introduced. 

 ALTERNATIVES 
==============

 The *bignum* was rejected in favor of *entier* because *entier* is 
 already used in *::tcl::mathfunc::entier*. 

 REFERENCE IMPLEMENTATION 
==========================

 A reference implementation is available here: 

  
 <URL:http://sites.google.com/site/josdecoster/Home/tip_string_is_entier.diff> 

 COPYRIGHT 
===========

 This document has been placed in the public domain. 

-------------------------------------------------------------------------

 TIP AutoGenerator - written by Donal K. Fellows 

------------------------------------------------------------------------------
Systems Optimization Self Assessment
Improve efficiency and utilization of IT resources. Drive out cost and 
improve service delivery. Take 5 minutes to use this Systems Optimization 
Self Assessment. http://www.accelacomm.com/jaw/sdnl/114/51450054/
Andreas Leitgeb | 13 Dec 12:12
Picon
Favicon

TIP #394: Platform-Independent Handling of Contemporary Mice


 TIP #394: PLATFORM-INDEPENDENT HANDLING OF CONTEMPORARY MICE 
==============================================================
 Version:      $Revision: 1.1 $
 Author:       Andreas Leitgeb <avl_at_logic.at>
 State:        Draft
 Type:         Project
 Tcl-Version:  8.7
 Vote:         Pending
 Created:      Wednesday, 30 November 2011
 URL:          http://purl.org/tcl/tip/394.html
 WebEdit:      http://purl.org/tcl/tip/edit/394
 Post-History: 

-------------------------------------------------------------------------

 ABSTRACT 
==========

 This TIP proposes a change to Tk's Events such as to support new 
 features of modern pointer devices (mice) in a platform-independent 
 way. 

 RATIONALE 
===========

 Modern pointing devices (mice) do have more controls beyond the 
 standard three buttons and one-dimensional scrolling gadget. They often 
 have any of these as well: 

     * Tilt-able scroll wheel 

     * A second wheel for horizontal scrolling 

     * A scroll-ball rather than a scroll wheel (see Apple's 
       "mightymouse") 

     * Additional "forward" and "backward" buttons 

     * even more buttons... 

 On Linux platform, bind'ing on <Button> will catch all(?) or these (and 
 "%b" gives an ordinal number which allows for some heuristic 
 recognition). But even on Linux, it is not possible to bind 
 specifically to e.g. <Button-8>, or to <B8-Motion> kind of events. 

 On Windows platform, the system offers different types of events for 
 certain different controls. An app would e.g. register extra to receive 
 horizontal scroll events and those extra buttons. (This is gathered 
 from hearsay.) 

 PROPOSAL 
==========

 Just like the MouseWheel event that was added to Tk in response to 
 wheel-mice filling the market, we'd have to define new events for each 
 new control. 

 For legacy-reasons, the dichotomy between vertical scroll wheel and 
 buttons 4 and 5 will need to be preserved, maybe as well as the buttons 
 6 and 7 for horizontal scrolling. 

 Any extra buttons could then be either named "X1", "X2", "X3", ... or 
 numbered 8, 9, 10, ... which would reflect as bind events <Button-8> or 
 <Button-X1>, but also <B8-Motion> or <BX1-Motion> 

 For horizontal scrolling, <MouseWheelHoriz> would be the preferred way 
 for cross-platform apps, but depending on whether "4 and 5" button 
 events are already emulated for scrolling on windows, it would be 
 worthwhile to also emulate "6 and 7" button events for horizontal 
 wheel-activity. 

 At this stage of this TIP the decision isn't yet made. 

 COPYRIGHT 
===========

 This document has been placed in the public domain. 

-------------------------------------------------------------------------

 TIP AutoGenerator - written by Donal K. Fellows 

------------------------------------------------------------------------------
Systems Optimization Self Assessment
Improve efficiency and utilization of IT resources. Drive out cost and 
improve service delivery. Take 5 minutes to use this Systems Optimization 
Self Assessment. http://www.accelacomm.com/jaw/sdnl/114/51450054/

Gmane