lp:ubuntu/utopic/cmucl

Created by James Westby and last modified
Get this branch:
bzr branch lp:ubuntu/utopic/cmucl
Members of Ubuntu branches can upload to this branch. Log in for directions.

Related bugs

Related blueprints

Branch information

Owner:
Ubuntu branches
Status:
Mature

Recent revisions

5. By Peter Van Eynde

* 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

4. By Ana Beatriz Guerrero López

* Non-maintainer upload to fix RC bug.
* Remove -I- from the CPPFLAGS. Patch by Sebastian Bober.
  (Closes: #473948)

3. By Peter Van Eynde

* New upstream release, fixes:
  - no longer a sigsegv on (read "A")
    Closes: #389991
  - Self-referential alien functions
    now compile.
    Closes: #113928
    (yes this bug is 5 years old)
  other major changes are documented in
   /usr/share/doc/cmucl/release-19d.txt.gz
* Updated standard version without real changes.
* Make cmucl manpage the one of the lisp and cmucl-lisp the one
  about the system. This way the manpage reflects the new
  prefered executable name (cmucl).
* Includes patch-001, also added this to
  src/tools/setenv-scripts/base-features.lisp
* Use relative package names

2. By Peter Van Eynde

* Adapt short descriptions to be deborphan compliant.
* Included udp networking patch. Closes: #290503
* Include MP patch. Closes: #290504
  Thanks to Peder Chr. Norgaard for both patches.

1. By Peter Van Eynde

* bytecompiling is a word. Closes: #124509
* Demos now work.

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
lp:ubuntu/vivid/cmucl
This branch contains Public information 
Everyone can see this information.

Subscribers