~ubuntu-branches/debian/squeeze/cmucl/squeeze

Viewing all changes in revision 6.

  • Committer: Bazaar Package Importer
  • Author(s): Peter Van Eynde
  • Date: 2009-04-18 20:27:23 UTC
  • mfrom: (0.2.3 upstream)
  • Revision ID: james.westby@ubuntu.com-20090418202723-oiooywxwcwe1j4mb
Tags: 19f-20090312-1
* New upstream release. Major changes:
    + Feature enhancements:
      - ~R supports many more cardinal names.
      - Updated network support:
        o Added BIND-INET-SOCKET to bind a socket to a local address.
        o Added OPEN-NETWORK-STREAM to create a stream connected to a 
          given host.
        o Added ACCEPT-NETWORK-STREAM to create a stream connected to
          the new network connection
        o Updated CONNECT-TO-INET-SOCKET to allow binding the newly
          created socket to a local address
      - Added UNIX:UNIX-OPENPTY, an interface to the openpty C library
        function.
      - SSE2 support added for x86.
        o CMUCL automatically detects whether sse2 is supported or not
          and loads up the appropriate core file.
        o New -fpu switch allows the user to specify explicitly which
          core should be used.  The valid values are x87, sse2, or auto
          (the default).
        o Fasls compiled with sse2 support have the extension sse2f.
          Otherwise, the normal x86f extension is used.  This allows the
          user to do tests/experiments with both x87 and sse2 without
          having to mess around with different directories and removing
          fasls before building for a different FPU.
        o If the chip supports sse2, but CMUCL can't find the sse2 core,
          CMUCL will try to fall back to the x87 core.  (This only
          happens if -fpu is auto.)
      - Command line parsing now recognizes the option "--".  Everything
        after "--" is not subject to CMUCL's command line parsing, and
        everything after the "--" is placed in the new variable
        EXT:*COMMAND-LINE-APPLICATION-ARGUMENTS*. 
  
    + ANSI compliance fixes:
      - Fix bug in backquote printer.  If the variable is @foo, we want
        to print ", @foo" not ",@foo".  Similarly, for .foo, we want to
        print ", .foo" instead of ",.foo".
      - Fix merging of version in MAKE-PATHNAME.  If the pathname name
        is given, the version is not affected by the version in the
        default pathname.
      - RENAME-FILE now creates defaulted-new-name from merging new-name
        with the original filespec.  This is an incompatible change from
        the previous version which created defaulted-new-name from
        merging the new-name with the truename of filespec.  Also, a
        logical pathname should be returned if new-name is a logical
        pathname. 
      - Character names need to be a capital letter followed by lower
        case.  Needed to match what ~:C does.  (Found via ansi-tests).
  
    + Bugfixes:
      - Compiler can now derive the rank of an array, even if the array
        is not simple.
      - Fix off-by-one bug in ~R which prevents printing numbers from
        10^63 to 10^66-1.  10^63 is a vigintillion.
      - The compiler and interpreter should now handle slot-value the
        same.  Previously, different results were returned for things
        like (slot-value foo :a).
      - UNIX-GETGRNAM is now defined for Darwin (x86 and ppc).
      - UNIX-GETPWUID is defined for all BSD systems.
      - Type-derivation for EXPT no longer causes errors in some
        situations.  The computed bounds were of the wrong type for the
        resulting type specifier.
      - Pathname printer no longer produces an error for (MAKE-PATHNAME
        :HOST NIL :TYPE "foo").  It returns #P(:HOST NIL :TYPE "foo")
        now. 
      - Type derivation for DOUBLE-DOUBLE-FLOAT arithmetic should be
        working.  Previously, all arithmetic operations would just
        return DOUBLE-DOUBLE-FLOAT even though the compiler should have
        been able to figure out a tighter result.
      - When SCALE-FLOAT would underflow, it would always return 0f0,
        instead of a floating-point zero of the correct type.
      - Fix some issues in creating the debug arglist string when the
        arglist contains items that can't be printed readably.
      - DIRECTORY is now faster for directories with a large number of
        files.  
      - RANDOM is now much faster on all platforms for numbers upto
        #xffffffff.  This is an incompatible change from previous
        releases because the numbers produced may be different from
        before.  
      - The small bias in RANDOM for integer args up to 32 bits long
        should now be gone.
      - Improved type derivation for LOGAND when one arg is bounded but
        the other is not.
      - Some issues with tracing on sparc and ppc have been fixed.  This
        usually manifests itself with a segfault just after the function
        result is printed.
      - Fixed bug on sparc where C-c sometimes causes a segfault.  We
        now handle the case where siginfo_t is NULL, which can also
        happen on other architectures.
      - The interpreter catches invalid EVAL-WHEN situations just like
        the compiler, instead of silently ignoring them.
      - FLOAT-PRECISION supports double-double floats.
      - Tracing should now be working on Darwin/x86.  Previously,
        certain cases would cause Lisp to segfault in bad ways where you
        could not return to the repl.  Do not need to do encapsulation
        by default anymore.
      - The bounds for type (REAL lo hi) are computed better now.  The
        REAL type is a union of SINGLE-FLOAT, DOUBLE-FLOAT, and
        DOUBLE-DOUBLE-FLOAT.  The computed bounds for
        DOUBLE-DOUBLE-FLOAT only had double-float accuracy if the bound
        for REAL was a rational.
      - The FLOAT type now requires that the bounds, if given, are
        floats.  Previously, any real type would be accepted.  This
        makes FLOAT behave like SINGLE-FLOAT and DOUBLE-FLOAT which
        required the bounds to be a float of the appropriate type.
  
    + Trac Tickets:
      - #16: Read-time hash-table issue
        Fixed.
      - #17: LOOP NAMED NIL has no effect
        Fixed.
      - #18: Modular arith bug 1
        Fixed
      - #19: Modular arith bug 2
        Fixed by not doing modular arith if the args are known to be
        fixnums.
      - #20: Modular arith bug?
        Fixed via the fix for Trac #21.  The original workaround has
        been removed.
      - #24: Float contagion for expt
        Float contagion is applied to the arguments before computing
        expt.
      - #21: Modular arith bug 3
        Fixed by delaying the logand defoptimizer.
      - #15: x86 double-float issue
        Fixed when using SSE2 support.  We will not fix this for x87.
      - #25: Compiler bug
        Fixed.
      - #26: slot-value type check
        Fixed for some cases.  When used in methods, slot-value may not
        do the type check.if the object is not a argument to the method.
      - #29: make-condition doesn't accept class objects
        Fixed.
  
    + Other changes:
      - IS1, IS2, IS3, and IS4 are recognized character names for the
        ASCII control codes US, RS, GS, FS, respectively.
      - Added OPEN-NETWORK-STREAM and ACCEPT-NETWORK-STREAM functions.
      - When initializing a random state, try to read 627 words from
        /dev/urandom to initialize the entire state vector with random
        bits.  Previously, only one word was read.
      - A seed of 0 is allowed in KERNEL:INIT-RANDOM-STATE.
      - Updated User guide to include more examples of tracing.
      - Enable gencgc page protection on x86/darwin.  This can speed up
        GC a bit.  (Not measured.)
      - Bignum truncate is significantly faster.  Some cl-bench
        benchmarks are now almost twice as fast.
      - The continuable error produced by raising an integer to a power
        exceeding *intexp-maximum-exponent* is now a restart, giving the
        user the option to continue and update the limit to the new
        power.
      - The Darwin/x86 port can run on Mac OS X 10.4 or later.
  
    + Improvements to the PCL implementation of CLOS:
      - The compiler and interpreter should handle SLOT-VALUE the same
        way.  Previously, (SLOT-VALUE obj :a) would behave differently
        in the compiler and interpreter.
      - Some issues with get-accessor-method-function and
        slot-value-using-class have been fixed.
        Get-accessor-method-function was causing an error to be signaled
        incorrectly.
      - (setf (slot-value <obj> <slot>) <new>) will now signal an error
        in some situations when the new value is not of the correct
        declared type for slot.
  
    + Changes to building procedure:
      - For Linux, custom CFLAGS, CC, and LDFLAGS are supported.
        Requested by Stelian Ionescu for Gentoo support.
      - The Linux config file is now named Config.x86_linux, which is
        the equivalent to Config.linux_gencgc, which is deprecated.
    * From this version onwards I will only support the sse2 variant 
      as I don't have any non-sse2 machines anymore. 
* Updated debhelper version to 7
* updated standard version without any real changes
* use dh_prep instead of dh_clean -k

expand all expand all

Show diffs side-by-side

added added

removed removed

Lines of Context: