Subject: CVS commit: pkgsrc/math/nickle
From: Thomas Klausner
Date: 2013-05-26 22:14:48
Message id: 20130526201448.EAD8F95@ivanova.netbsd.org

Log Message:
Update to 2.77:

    Update to version 2.77

    Fix RPM spec file to not install tutorial twice

    By default, the tutorial gets stuck in /usr/share/doc/nickle, while
    rpm wants it in /usr/shar/doc/nickle-<version>. Ignore the one in \ 
/usr/share/doc/nickle.

    doc: Expand tabs to spaces in .sgml files
    Makes code examples readable.

    Build tutorial when docbook2pdf is available
    And build it on debian

    tutorial: Use sgml entities instead of < and >

    Tutorial: twixt doesn't have an optional 'else' block
    This was a proposed feature that was removed

    Rename nickle tutorial to nickle-tutorial
    Makes any built files include 'nickle' by default

    corrected some Nickle Tour nits

    Handle OpFarJump in CompileReachable
    A FarJump within a catch block references instructions one or more
    frames outside of the instruction context. When checking for reachable
    code, look down inside the catch blocks to see if any of the FarJumps
    within them touch the target instruction.
    Fixes this example:
    void foo() {
    	for (;;)
    		try {
    		} catch uninitialized_value(string x) {
    			break;
    		}
    }
    Without this fix, the 'break' will not get noticed and no ReturnVoid
    will be appended to the object code for 'foo', leaving the break
    dangling in space.

    New instructions IsType and HasMember need entries in OpNames
    Otherwise, the array no longer matches the enum

    Fix VALIDATE_EXECUTION test code
    Needed ObjType defined.

    Update to 2.76

    Don't erase twixt pointer during JumpContinue until after stack copy
    Otherwise, if MemCollect occurs during the stack copy, the twixt's
    stack copy can get collected.

    Check for lost stack chunks
    If a stack chunk gets collected, the 'type' field will get
    cleared. Check to see if this has happened and abort.

    Add debug code to check thread validity during execution
    If something gets corrupted, it's useful to have this code to help
    track it down.

    Handle initializers with undefined types.
    Emit an error instead of crashing.

    Handle systems which don't define PATH_MAX (Hurd)
    This is a hack; a correct fix would involve actually allocating the
    correct length object.

    Version 2.75

    Delete ancient .cvsignore files
    Not exactly useful anymore

    Examples shouldn't be executable

    Fix Source URL in nickle.spec file
    Point at nickle.org, as appropriate.

    Make 'G' format limit array and struct recursion
    This makes stack traces tractable.

    Switch to dh for debian builds
    Vastly simplifies debian/rules...

    Stop printing recursive structs with 'g' format.
    This gets annoying really quickly, so just terminate the recursive
    struct printing right away.

    Handle ref types in &foo->bar operations
    For some reason, this case was left out of the usual ref type hacks

    Version 2.74

    Switch from debuild to pdebuild
    Catch more package building problems by using pbuilder.

    Fix Semaphore::wait logic (again) - partial means we've woken up
    The only way to run do_Semaphore::wait with 'partial' set to true is
    if the thread is waking up; in this case, the semaphore count may well
    be negative if other threads are also waiting. Ignore the count in
    this case and just complete the operation.

    Add explicit debian source format 3.0 (native)
    Keep lintian happy

    Clean up some debian lintian warnings

    Fix new FileVPrintf 'G' format comparison
    Was comparing the pointer to the representation enum. oops.

    Update debian/changelog for eventual 2.73 release

    git-log has become git log
    Needed to build ChangeLog

    Back autoconf requirement to 2.64 so debian stable can run it

    Shorten backtrace display
    Don't display composite values in backtraces so that the
    backtrace doesn't get flooded with giant values.

    Typecheck switch expressions
    Make sure switch expression and case expresssions are all type compatible.

    Add is_type and has_member built-ins
    These provide the ability to do run-time type comparisons without
    needing full introspection in the language.

    Add list.5c
    A useful data type

    add 'millis' function to return a clock in milliseconds.
    Useful when doing things with sleep

    Add Semaphore::count
    Useful for checking current semaphore value without
    modifying it.

    Clean up do_Semaphore_wait
    Make it clear that the semaphore count gets bumped down the first time
    into this function.

    Check for thread switch even if current thread is last
    Threads can switch due to semaphores or other signals; that can leave
    the current thread last in the run queue. Check for any case where
    running changes instead of only when the current thread isn't last.

    Make scanf not report valid conversion on blank input.
    scanf was incorrectly accepting " " as a valid number, returning a
    conversion of 0. Fix this by checking for empty strings in any numeric
    conversion.

    Add tests for scanf function
    Scanf incorrectly accepts blank strings for numbers; here's a pile
    of tests to validate various numeric input.

    Add sort and skiplist to standard nickle library
    These are too useful to just be examples

    Add gamma function

    Printing rational 0 in 'e' format doesn't need an exponent
    Computing a negative exponent requires a non-zero value, so just skip
    that if the value is zero

    NaturalGcd must return a Natural* when aborting
    It was returning One (an Integer) instead of one_natural;

    floor() and ceil() should work on imprecise floats
    They should return an approximate integer value instead of raising an exception.

    Set version to 2.73 in prepartion for eventually release

    Only call readline tty cleanup on signal readline is active
    If readline isn't active, the cleanup functions tend to make a mess of
    the tty state, so don't call them. This really only matters when
    handling SIGTSTP.

    Update to version 2.72

    Keep readline from catching signals
    This stops readline from catching signals, letting nickle handle them
    all by itself.

    Block in select instead of sigsuspend when waiting for I/O
    The kernel doesn't appear to reliably deliver SIGIO while the
    application is blocked, so sit in select instead of sigsuspend to make
    sure we hear about pending I/O.

    rename configure.in to configure.ac

    Switch version to 2.72 in preparation for an eventual release

    wait3 returns 0 when there's nothing left to do
    Don't keep looping when wait3 is done

    Update to version 2.71

    Clean up a pile of build warnings
    Signal return types, unused return values and stepping off the end of
    the typePrim array (the value of which was unused anyways).

    Catch attempts to use uninitialized pointer contents
    Dereferencing a pointer to uninitialized storage is an error, instead
    of passing this value along to callers, catch it immediately and raise
    an exception. Check for this case in the ++ and -- operators to
    generate a better error message (otherwise, we'll pass Void along and
    generate an error much later).

    Exit after two consecutive interrupts
    If the first interrupt isn't received by the nickle code,
    when the second one comes in, just exit

    Cleanup struct type changes

    Replace most parameterized macros with static inline functions
    Typechecking, decent compiler warnings and smaller code.

    Replace macros with static inline functions in value.h
    Actual type checking, and smaller compiler output to boot.

    Get rid of old-school variable length struct allocations
    This confuses the new _FORTIFY_SOURCE bits in GCC, so use the
    'sanctioned' form of placing a zero-length array at the end of the
    struct.

Files:
RevisionActionfile
1.11modifypkgsrc/math/nickle/Makefile
1.4modifypkgsrc/math/nickle/PLIST
1.8modifypkgsrc/math/nickle/distinfo