Tcl 8.5 & Vim's Tcl interface
[Pardon the leading period, but I'm hoping the indenting is
preserved to make reading easier]
.. I wanted Vim on windows (x64) that was compiled with Vim's
.. Tcl interface. All went fairly well, I was able to build
.. Vim using window's SDK command line compiler for x64, and I
.. linked against ActiveState's Tcl 22.214.171.124 for x64 using
.. tclstub85.lib to allow dynamic loading of the Tcl DLL.
.. [As an aside, I'm hoping to convince Vim's maintainer to
.. build the release version of Vim containing support for all
.. the language interfaces since only an error message would
.. occur if the respective DLL was not found. It appears that
.. the Vim maintainer last checked building against 8.4]
.. The Tcl interface works for a simple ":tcl puts Hello" but
.. when I tried anything more I get the error:
.. wrong # args: should be "catch command ?varName?"
.. This is because Vim creates a replacement "catch" command
.. (I've attached the relevant code below. As the comments
.. state, Vim needs to prevent exit() being called by Tcl. Tcl
.. 8.5 has introduced a new "catch" command that takes an
.. additional argument, and somewhere -- either the Tcl
.. library or tcl85.dll -- uses catch with four arguments. I
.. don't have 8.5's source but I see that auto.tcl, clock.tcl,
.. init.tcl, (I stopped looking) all use the four-argument catch.
.. So here's my question: what's the best way this...tcl-mmap: A POSIX mmap interface for Tcl. (Tcl package)
This is an announcement for a relatively new Tcl project: tcl-mmap
Tcl-mmap is a Tcl interface to the POSIX mmap* system call. It provides
a Tcl package that allows Tcl scripts to: 1) Memory map files for
improved access efficiency; 2) Share memory between related processes;
3) Easily implement cyclic persistent log files.
* See the mmap(2) man page.
Home page: http://sourceforge.net/projects/tcl-mmap/
Man page: http://tcl-mmap.sourceforge.net/
Author: Alexandros Stergiakis
On Sep 3, 11:48=A0am, Alexandros Stergiakis <alst...@gmail.com> wrote:
> This is an announcement for a relatively new Tcl project: tcl-mmap
> Tcl-mmap is a Tcl interface to the POSIX mmap* system call. It provides
> a Tcl package that allows Tcl scripts to: 1) Memory map files for
> improved access efficiency; 2) Share memory between related processes;
> 3) Easily implement cyclic persistent log files.
> * See the mmap(2) man page.
Great to see this and the other packages you made.
Looking at the manpage it looks a bit misformatted before the usage
Any specific reason to use GPL for this instead the usual Tcl/MIT/BSD
style license used?
> On Sep 3, 11:48 am, Alexandros Stergiakis <alst...@gmail.com> wrote:
>> This is an announcement for a relatively new Tcl project: tcl-mmap
>> Tcl-mmap is a Tcl interface to the POSIX mmap* system call. It provides
>> a Tcl package that...Tcl's Future was: Re: Apache 2.0 TCL solution
> Part of the problem is that where Rails has had brilliant marketing,
> Tcl's has been nothing short of disastrous, so with something like
> Rails, that is good technology, hopping on the bandwagon is a pleasant
> change from the "trench warfware" world of trying to defend Tcl.
> A recent example:
> Someone 'important' actually used Tcl for an important project, and I
> don't even see anyone answering him in public.
I doubt any...tcl-pam: PAM authentication for Tcl (Tcl package)
This is an announcement for a relatively new Tcl project: tcl-pam
Tcl-pam is a Tcl interface to the PAM* service of Linux. It provides a
Tcl package that allows Tcl scripts to use PAM to authenticate users and
programs. It relies on linux-pam library:
* PAM (Pluggable Authentication Modules): A mechanism to integrate
multiple low−level authentication schemes into a high−level application
programming interface (API). This enables programs that rely on
authentication to be written independently of the underlying
Home page: http://sourceforge.net/projects/tcl-pam/
Man page: http://tcl-pam.sourceforge.net/
Author: Alexandros Stergiakis
...tcl-gaul: Genetic Algorithms for Tcl. (Tcl package)
This is an announcement for a relatively new Tcl project: tcl-gaul
Tcl-gaul is a Tcl extension for genetic/evolutionary algorithm
processing.It relies on the GAUL library: http://gaul.sourceforge.net/
* A genetic algorithm (GA) is a search technique used in computing
to find exact or approximate solutions to optimization and search
problems. Genetic algorithms are categorized as global search
heuristics. They are a particular class of evolutionary algorithms
that use techniques inspired by evolutionary biology such as
inheritance, mutation, selection, and crossover. For an introduction to
genetic algorithms visit: http://gaul.sourceforge.net/intro.html
Platform: Linux (GAUL library dependency)
Home page: http://sourceforge.net/projects/tcl-gaul/
Man page: http://tcl-gaul.sourceforge.net/
Author: Alexandros Stergiakis
...Dr. Dobb's Tcl-URL!
QOTW: "As usual, Tcl functions just fine when used correctly"
-- Aric Bills
"The underscore has been a part of tcl since about version 1.0 I'd
-- Bryan Oakley
POTW: Tcl/Tk Aqua 8.4.7 binary release by Daniel A. Steffen.
"Mac OS X native port of the Tcl scripting language and the Tk toolkit".
It comes in three flavors: "Batteries Included" with fifty popular
extensions, just the Tcl/Tk frameworks and documentation, or a standalone
that can be used off read-only media and installed by unprivileged users.
http://sf.net/proj...Dr. Dobb's Tcl-URL!
QOTW: "Tcl has such an extensive library of packages that every time
I get a new contract and start designing the tool, I find that someone
else has already written over 50% of what I need to write and if I want
to use it in my test tool almost 100% of the time all that is required
is a simple 'package require xxxxxx' and it's available to me."
-- Anthony Davis
"I'm surprised, how many regular Tcl'ers have a wrong picture of Tcl
and nevertheless can still write good code."
-- Andreas Leitgeb
POTW: Pgtcl 1.4 by Brett Schwarz.
"This is ...Dr. Dobb's Tcl-URL!
QOTW: "Doctor, do you think this rash on my foot would be better cured
with a blowtorch or with a belt sander?"
-- Darren New
"Tcl's language lawyers are so busy getting real work done that they've
not stopped to take the time to create a specification."
POTW: Tile Widget Set, version 0.3 by Joe English.
This is "an experimental reimplementation of some of the standard
Tk widgets" that offers "Native look and feel under Windows XP"
and "'Revitalized' look and feel under Unix".
http://tktabl...Dr. Dobb's Tcl-URL!
QOTW: " M$ Windows may or may not suck, but given a large enough hammer it
can be pounded into submission." - David Gravereaux on c.l.t.
"[Changing a horse in m]idstream is ok in shallow waters." - Richard
ANNOUNCE: InstallJammer Multiplatform Installer, version 1.0rc3
InstallJammer is a multiplatform GUI installer and builder
designed to be completely cross-platform and function on
Windows and most all version of UNIX with eventual support
for Mac OS X.
* A full-featured install builder.
* I...Dr. Dobb's Tcl-URL!
QOTW: "[T]the real goal [of Tile] is themeable apps with the existing ease
of Tk coding. That has been achieved [with 8.5]." - Jeffrey Hobbs
"I have been looking into Tclhttpd recently. That is a very cool piece of
software." - Robert Hicks
POTW: Tcl Windows API extension V0.8 aka TWAPI extension provides access
to over 350 functions in the Windows API from within the Tcl scripting
language. The extension targets the Windows NT family (NT 4.0SP4+, Windows
2000, Windows XP and Windows 2003), and is not supported on the Windows
95/98/ME platforms. Currently functions i...Dr. Dobb's Tcl-URL!
QOTW: Expect is "not really overkill, it is a very handy API to process
control in general." -- Jeff Hobbs
"Write it in Tcl." -- Bob Techentin, summarizing his performance investigation
POTW: TIL portably manages long-living processes and other software
constructs of interest.
Gerald Lester, R. T. Wurth, and others debate whether [pack]
or [grid] is superior.
Wow. "ActiveState Adds Expect for Windows to ActiveTcl"
http://g...Dr. Dobb's Tcl-URL!
QOTW: "One of the reasons why Tcl does well is because it limits the number
of places where deeply non-obvious semantics occur." -- Donal K. Fellows
"I don't believe that anyone is proposing a new 'deployment police'
division to run around preventing people from doing anything they
wanted." -- email@example.com
POTW: Snit V0.93 by Will Duquette.
"Snit is a pure-Tcl object and megawidget framework."
This discussion of using Tcl to access an Oracle database
covers lots of issues, including whether thread...Dr. Dobb's Tcl-URL!
QOTW: "you can't trust people who nick-hop and ask inane questions" -- Jeff
"The Erlang guys always think we should use concurrency tests with
200,000 processes ..." -- igouy, on performance-testing
POTW: TkPNG is a lightweight and even "nifty" way to teach Tk about PNG.
When Expect is "hung" for you--you're almost certainly seeing things
wrong. In most cases, "it's not hung, it's just waiting for something
that isn't coming," as Bruce Hartweg observes in ...Dr. Dobb's Tcl-URL!
QOTW: "Did I just read that Tcl IS NOT a scripting language?"
"This time I'd like just to say thank you. I've worked on a couple of TCL
projects lately for customers that went well, and couldn't have been done
without the contributions that everyone here makes, both in software and in
-- Alan Folsom
POTW: textprops-1.0 by Victor Wagner.
"Package textprops adds default right-click menus for entry and text widgets.
This version also provides function to add standard edit commands to
application main menu. Automatic control of ...Dr. Dobb's Tcl-URL!
QOTW: "It seems as if the REAL tcl programmers learned their craft from an
on-line source. A colleague of mine, Laszlo who is a UNIX programmer in
Szombathely, Hungary never picked up a TCL book, but can write some
wonderful scripts used on our FIS (factory information system). I'll send
him an e-mail and tell him I'm finally taking his advice on TCL. He'll be
very happy." - ajocius on c.l.t in reply to a CARE packet from Cameron Laird .
"Who needs wizards in a language without magic?" - Richard Suchenwirth
ANNOUNCE: Tcl Plugin v3.1 by Jeffrey H...Dr. Dobb's Tcl-URL!
QOTW: "If you are using pack, don't - a megawidget should NEVER use
pack. You'll be more flexible and efficient with grid." -- Jeff Hobbs
"args, how I hates magic variables. I don't env ee those perl
programmers." -- Donald Arseneau
POTW: Rivet 0.3 by David Welton and the Rivet Team. "Rivet is a
system for web programming based on the Apache web server and the
Tcl programming language". "The most exciting thing about the new
code is the new Session code".
Monitoring a fixed-size file of state i...Dr. Dobb's Tcl-URL!
QOTW: "[A] complete implementation of the TIP 131 spec [...] should just
automagically sort things out & Do The Right Thing(tm)" -- Michael
TIP 131: http://groups.google.com/groups?th=5acf56642aac0750
"Tcl is a toolkit, not a final solution, you set it up to make a language
in which to talk clearly and intelligently about your application. If you
want or need something better than set, you can write it. 'set' is only
part of the toolkit."
POTW: TclTkAquaBI by Daniel A. Steffen. Native Aqua Tcl/Tk for Mac OS X.
"Ba...Dr. Dobb's Tcl-URL!
QOTW: "Ain't it nice how many different solutions are available?"
-- Helmut Giese
"Get in the habit of *always* calling a single proc from a -command or
binding. This solves problems now, and will solve problems later when you
need to change what a binding or button does."
-- Bryan Oakley
POTW: TclDES 0.6 by Mac A. Cody. "TclDES is a pure-Tcl implementation of
the NIST Data Encryption Standard (DES)." (Kudos on the feather logo!)
Good advice about separating the GUI from the API. Doing so
is easier...Dr. Dobb's Tcl-URL!
QOTW: "Isn't Tcl just a cross-platform portability library written in C
that has a builtin facility for parsing config files?" -- rmax
"Hello...just wanted to say I am using Tile on TkAqua and it rules." -- wordtech
POTW: The chatroom has lately given a lot of attention to Coccinella
Want to pop up a tk_messageBox to your user, but not have a 'tk'
If you [exec someProgram], you might need both the exit code and the
outp...Dr. Dobb's Tcl-URL!
QOTW: "simple Tcl scripts can get complicated job done"
-- Chengye Mao
"the beauty of Everything is a Command"
-- David N. Welton
"I am wild about the ease of deployment Starkit gives me with Tcl."
-- Cameron Laird
"When you understand [why [if] expressions should be braced], you're
half way to understanding Tcl. When you understand why mismatched
braces in comments work sometimes and not other times, you'll be the
other half of the way there."
-- Darren New
(There was a bumper crop of quotes this week... this is the ...Dr. Dobb's Tcl-URL!
QOTW: "One of the main benefits of using Tcl compared to other
scripting languages, is its simple and well defined syntax, which is
a pleasure to work with (at least for me)." -- Egil St=F8ren
"grid can do anything better than pack can" -- Bruce Hartweg
POTW (for work): Snit V0.91 by Will Duquette. "Snit is a pure-Tcl
object and megawidget framework." "Snit will not bulk up your
scripts or take over your life."
POTW (for play): Car Simulation with Trailer by Andreas Leitgeb.
http://avl.enemy.org/TclTk/drive....Dr. Dobb's Tcl-URL!
QOTW: "The safe method will probably seem bizarre and un-straightforward to
those new to Tcl." -- Aric Bills
"Basically, Tcl is such a nice "glue" language that there exists lots of
extensions for interfacing a Tcl script to code developed in other languages.
Then you can use the simpler syntax of Tcl and frameworks like tcltest to
create tests much quicker and easier (and with less chance of errors creeping
into the test suite itself) than many other languages." -- Ken Jones
POTW: XOTclIDE 0.53 by Artur Trzewik. "XOTclIDE is an (Integrated
Development En...Dr. Dobb's Tcl-URL!
QOTW: "Either you fight against the differences or you embrace them."
Bryan Oakley, on Tcl's character
"Don't guess, measure."
Donal K. Fellows
POTW: "Kiwi is a graphic application which displays ... trace logs."
Keywords: real-time, portable, pure-Tk, ...
If you want an HTTP client connection with keep-alive, you need
http version 1.1. The core http package doesn't support this, but
http://groups.google.nl/gro...Dr. Dobb's Tcl-URL!
QOTW: "Tcl is just chock full of nice stuff." -- Donal K. Fellows
"this is the first language that I really want to learn."
POTW: moodss-17.10 and moomps-2.12 by Jean-Luc Fontaine.
"Moodss is a modular monitoring application, which [...] allows the
construction of dashboards with graphs, pie charts, etc."
How do we use Tcl? Let us count the ways:
[wm transient] is really just a suggestion, not an ironclad law: