• ANNOUNCE: Tohil 4.3.0

    From Karl Lehenbauer@21:1/5 to All on Tue Nov 23 07:18:17 2021
    Tohil a feathered serpent, aims to provide a delightful integration between Python, the serpent, and TCL, the feather.

    Tohil is simultaneously a Python extension and a TCL extension that makes it possible to effortlessly call bidirectionally between Tcl and Python.

    Tohil is open source software, available for free including for profit and/or for redistribution, under the permissive 3-clause BSD license.

    Tohil 4.3.0 is mostly a maintenance release. One nice improvement, TclProcs now return the tclobj datatype by default. If you haven’t seen them, TclProcs are the slickest way to invoke Tcl procs from Python using tohil. A few releases back we changed "
    tohil.call" and "tohil.eval" to return Python tclobj objects by default (which can be overridden). Now TclProcs work that way too.

    Since Tohil's tclobj objects behave like strings when used as strings in Python, very little if any code, even code that makes extensive use of TclProcs, should require changes.

    Additional Improvements

    * Much faster Python-to-Tcl floating point and integer conversions.
    * Tohil previously stored a Python capsule containing a pointer to its corresponding Tcl interpreter in __main__.interp and you could make Python crash by doing like interp = ‘’” before importing tohil. This renames interp to something way less
    likely to have a conflict.
    * Many new tests

    Bug Fixes

    * Thread state handling improvements aka bug and crash fixes when using Tohil/Python from multiple Tcl interpreters.
    * Tohil tclobj integer math is now always performed at 64-bits, even on 32-bit machines.
    * Fixed infinite recursion when Tohil’s exception handler caused an exception.

    Improved Build Support

    * configure script improvements to permit building Tohil with nix (https://github.com/flightaware/tohil/pull/65).
    * tests can now be run via nix.

    For release notes on github, visit the Tohil github repo at https://github.com/flightaware/tohil

    For the full changelog,since 4.2.0, visit https://github.com/flightaware/tohil/compare/v4.2.0...v4.3.0

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Torsten Berg@21:1/5 to Karl Lehenbauer on Sun Dec 12 03:53:30 2021
    Really interesting and I envisage a usage in ArcGIS, a Windows geographical information system using Python as its extension language. Not being familiar with Python very much, I could just plug tohil in and code in Tcl! OK, that would need a Windows
    build of tohil ... and I cannot do this myself, unfortunately.

    One question to the README-md file on github. The [clock] example outputs spanish locale but the text above says its french :-) but that is not the question. What is the literal "f" for in the evaluation before the quote. I can't find that documented
    anywhere. And is the "{clock}" with the braces the way to use a Phython variable in Tcl?

    On Tuesday, November 23, 2021 at 4:18:19 PM UTC+1, Karl Lehenbauer wrote:
    Tohil a feathered serpent, aims to provide a delightful integration between Python, the serpent, and TCL, the feather.

    Tohil is simultaneously a Python extension and a TCL extension that makes it possible to effortlessly call bidirectionally between Tcl and Python.

    Tohil is open source software, available for free including for profit and/or for redistribution, under the permissive 3-clause BSD license.

    Tohil 4.3.0 is mostly a maintenance release. One nice improvement, TclProcs now return the tclobj datatype by default. If you haven’t seen them, TclProcs are the slickest way to invoke Tcl procs from Python using tohil. A few releases back we changed
    "tohil.call" and "tohil.eval" to return Python tclobj objects by default (which can be overridden). Now TclProcs work that way too.

    Since Tohil's tclobj objects behave like strings when used as strings in Python, very little if any code, even code that makes extensive use of TclProcs, should require changes.

    Additional Improvements

    * Much faster Python-to-Tcl floating point and integer conversions.
    * Tohil previously stored a Python capsule containing a pointer to its corresponding Tcl interpreter in __main__.interp and you could make Python crash by doing like interp = ‘’” before importing tohil. This renames interp to something way less
    likely to have a conflict.
    * Many new tests

    Bug Fixes

    * Thread state handling improvements aka bug and crash fixes when using Tohil/Python from multiple Tcl interpreters.
    * Tohil tclobj integer math is now always performed at 64-bits, even on 32-bit machines.
    * Fixed infinite recursion when Tohil’s exception handler caused an exception.

    Improved Build Support

    * configure script improvements to permit building Tohil with nix (https://github.com/flightaware/tohil/pull/65).
    * tests can now be run via nix.

    For release notes on github, visit the Tohil github repo at https://github.com/flightaware/tohil

    For the full changelog,since 4.2.0, visit https://github.com/flightaware/tohil/compare/v4.2.0...v4.3.0

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)