Deutsch   English   Franšais   Italiano  

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!!!!!!fx26.iad.POSTED!not-for-mail
Newsgroups: comp.lang.tcl
Subject: [ANN] Critcl 3.1.13 released
From: Andreas Kupries <>
Message-ID: <>
User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.1 (gnu/linux)
Cancel-Lock: sha1:VtoVapO0LDR2uKDkxyP5yvfZaqw=
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Lines: 125
X-Trace: 1424758084 (Tue, 24 Feb 2015 06:08:04 UTC)
NNTP-Posting-Date: Tue, 24 Feb 2015 06:08:04 UTC
Date: Mon, 23 Feb 2015 21:24:05 -0800
X-Received-Bytes: 5468
X-Received-Body-CRC: 2443334925

Welcome to the _C Runtime In Tcl_, _CriTcl_ for short, a system to
build C extension packages for Tcl on the fly, from C code embedded
within Tcl scripts, for all who wish to make their code go faster.

    (Downloads, Documentation, etc.)



This document provides an overview of the changes *critcl* underwent
from version to version.

The latest changes are found at the top.

Changes for version 3.1.13

    [1] Merged PR #43. Fixed bug loading adjunct Tcl sources.

    [2] Fixes in documentation and generated code of package
        "critcl::enum". Bumped to version 1.0.1.

    [3] Fixes in documentation of package "critcl::bitmap".

    [4] New package "critcl::emap". In essence a variant or cross of
        "critcl::bitmap" with behaviour like "critcl::enum".

    [5] Merged PR #49. Fixed documentation typo.

    [6] Merged PR #46. Fixed documentation typo.

    [7] Merged PR #47. Fixes to test results to match the accumulated
        code changes.  Also made portable across Tcl versions (varying
        error syntax).

    [8] New predefined argument- and result-type "wideint" mapping to

    [9] New predefined argument-type "bytes" mapping to tuple of
        byte-array data and length. Note: The existing "bytearray"
        type (and its aliases) was left untouched, to keep backward

        Modified the internal interface between the Tcl shim and C
        function underneath "critcl::cproc" with respect to the
        handling of optional arguments. An optional argument "X" now
        induces the use of two C arguments, "X" and "has_X". The new
        argument "has_X" is of boolean (int) type. It is set to true
        when X is set, and set to false when X has the default
        value. C code which cares about knowing if the argument is
        default or not is now able to check that quickly, without
        having to code the default value inside.  NOTE: This change is
        visible in the output of the advanced commands "argcnames",
        "argcsignature", "argvardecls", and "argconversion".

        Fixed issue #50 and documented the availability of variable
        "interp" (type Tcl_Interp*) within "critcl::cinit" C code
        fragments. Note that while the old, undocumented name of the
        variable, "ip", is still usable, it is deprecated. It will be
        fully removed in two releases, i.e. for release 3.1.15. The
        variable name was changed to be consistent with other code

        Fixed issue #51. Disabled the generation of #line directives
        for "critcl::config lines 0" coming from template files, or
        code generated with them before the final value of this
        setting was known.

        Fixed issue with handling of namespaced package names in
        "critcl::iassoc".  Equivalent to a bug in "critcl::class"
        fixed for critcl 3.1.1, critcl::class 1.0.1. Note: "literals",
        "enum", "emap", and "bitmap" do not require a fix as they are
        all built on top of "iassoc".

Changes for version 3.1.12

    [1] Fixed issue 42. Clear ::errorInfo immediately after startup to
        prevent leakage of irrelevant (caught) errors into our script
        and confusing the usage code.

    [2] Fixed issue 40. Keep the order of libraries, and allow
        duplicates. Both are things which are occasionally required
        for proper linking.

    [3] Extended the utility package *critcl::literals* to declare a
        cproc result-type for a pool.

        Further fixed the generated header to handle multiple

        Bumped version to 1.1.

    [4] Fixed issue with utility package *critcl::bitmap*.

        Fixed the generated header to handle multiple inclusion.

        Bumped version to 1.0.1.

    [5] Created new utility package *critcl::enum* for the quick and
        easy setup and use of mappings between C values and Tcl
        strings. Built on top of *critcl::literals*.

    [6] Added examples demonstrating the use of the utility packages
        *critcl::literals*, *critcl::bitmap*, and *critcl::enum*

So long,
	Andreas Kupries <>
	Developer @	<>

EuroTcl 2015, June 20-21, Colgne/DE,
22'nd Tcl/Tk Conference: Manassas, VA, USA