Path to this page:
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: