Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
Loading items

Target

Select target project
0 results Searching
Select Git revision
Loading items
Show changes

Commits on Source 81

45 files
+ 1880
943
Compare changes
  • Side-by-side
  • Inline

Files

+12 −0
Original line number Diff line number Diff line
@@ -334,6 +334,18 @@ including CLX, CMUCL/Motif, the Motif debugger, inspector, and control
panel, and the Hemlock editor.  It will use the lisp executable and
core of the given target.

Note: To build with Motif (clm), you need to have the Motif libraries
available and headers available to build motifd, the clm Motif server.
OpenMotif is known to work.

You may need to adjust the include paths and library paths in
src/motif/server/Config.* to match where Motif is installed if the
paths therein are incorrect.

Unless you intend to use clm and motifd, you can safely ignore the
build failure.  Everything else will have been compiled correctly; you
just can't use clm.

* bin/make-dist.sh [-bg] [-G group] [-O owner] target-directory version arch os

This script creates both main and extra distribution tarballs from the
+42 −0
Original line number Diff line number Diff line
@@ -8,3 +8,45 @@ debugger and code profiler; and an Emacs-like editor implemented in
Common Lisp. CMUCL is maintained by a team of volunteers collaborating
over the Internet, and is mostly in the public domain.

Here is a summary of its main features:

* support for **static arrays** that are never moved by GC but are
  properly removed when no longer referenced.
* **Unicode** support, including many of the most common external
  formats such as UTF-8 and support for handling Unix, DOS, and
  Mac end-of-line schemes.
* native **double-double floats** including complex double-double
  floats and specialized arrays for double-double floats and and
  complex double-double floats that give approximately 106 bits
  (32 digits) of precision.
* a **sophisticated native-code compiler** which is capable of
  powerful type inferences, and generates code competitive in
  speed with C compilers.
* **generational garbage collection** on all supported
  architectures.  
* **multiprocessing capability** on the x86 ports.
* a foreign function interface which allows interfacing with C code
  and system libraries, including shared libraries on most platforms,
  and direct access to Unix system calls.
* support for interprocess communication and remote procedure calls.
* an implementation of CLOS, the [Common Lisp Object
  System](http://en.wikipedia.org/wiki/Common_Lisp_Object_System),
  which includes multimethods and a metaobject protocol.
* a graphical source-level debugger using a Motif interface, and a
  code profiler.
* an interface to the X11 Window System (CLX), and a sophisticated
  graphical widget library ([Garnet](https://www.cs.cmu.edu/~garnet/),
  available separately).
* programmer-extensible input and output streams ([Gray
  Streams](http://www.nhplace.com/kent/CL/Issues/stream-definition-by-user.html)
  and
  [simple-streams](http://www.franz.com/support/documentation/current/doc/streams.htm)).
* an Emacs-like editor,
  [Hemlock](http://cmucl.org/hemlock/index.html), implemented in
  Common Lisp.
* **freely redistributable**: free, with full source code (most of
  which is in the public domain) and no strings attached (and no
  warranty). Like the GNU/Linux and *BSD operating systems, CMUCL is
  maintained and improved by a team of volunteers collaborating over
  the Internet.

bin/run-tests.sh

0 → 100755
+50 −0
Original line number Diff line number Diff line
#! /bin/bash

# Run the testsuite.
#
# By default, all the tests are run, but if additional args are given,
# then just those tests are run.

usage() {
    echo "run-tests.sh [?] [-l lisp] [tests]"
    echo "    -l lisp      Lisp to use for the tests; defaults to lisp"
    echo "    -?           This help message"
    echo ""
    echo "Run the test suite"
    echo ""
    echo "Any remaining args are the names of the tests to run."
    echo "These are basically the file names (without extension)"
    echo "in the tests/ directory."
    echo ""
    echo "This script expects to be run from the top level of the"
    echo "cmucl source tree.  That is, is should be invoked as"
    echo "bin/run-tests.sh"
    exit 0;
}

LISP=lisp
while getopts "h?l:" arg
do
    case $arg in
      l) LISP=$OPTARG ;;
      \?) usage ;;
    esac
done

# Shift out the options
shift $[$OPTIND - 1]

if [ $# -eq 0 ]; then
    # No args so run all the tests
    $LISP -noinit -load tests/run-tests.lisp -eval '(cmucl-test-runner:run-all-tests)'
else
    # Run selected files.  Convert each file name to uppercase and append "-TESTS"
    result=""
    for f in $*
    do
	new=`echo $f | tr '[a-z]' '[A-Z]'`
        result="$result "\"$new-TESTS\"
    done
    $LISP -noinit -load tests/run-tests.lisp -eval "(progn (cmucl-test-runner:load-test-files) (cmucl-test-runner:run-test $result))"
fi
Original line number Diff line number Diff line
@@ -283,8 +283,9 @@

(defswitch "dynamic-space-size" nil
  "Specifies the number of megabytes that should be allocated to the
  heap.  If not specified, a platform-specific default is used.  The
  actual maximum allowed heap size is platform-specific."
  heap.  If not specified, a platform-specific default is used.  If 0,
  the platform-specific maximum heap size is used.  The actual maximum
  allowed heap size is platform-specific."
  "megabytes")

(defswitch "read-only-space-size" nil
Original line number Diff line number Diff line
@@ -1138,9 +1138,14 @@
	     (format stream (intl:gettext "Arithmetic error ~S signalled.")
		     (type-of condition))
	     (when (arithmetic-error-operation condition)
	       ;; Printing the operands can signal these FP traps, so
	       ;; disable them while we're printing out the error
	       ;; message.
	       (with-float-traps-masked (:overflow :underflow :inexact
					 #+x86 :denormalized-operand)
		 (format stream (intl:gettext "~%Operation was ~S, operands ~S.")
			 (arithmetic-error-operation condition)
		       (arithmetic-error-operands condition))))))
			 (arithmetic-error-operands condition)))))))

(define-condition division-by-zero         (arithmetic-error) ())
(define-condition floating-point-overflow  (arithmetic-error) ())
Original line number Diff line number Diff line
@@ -1579,11 +1579,15 @@
	   "DOUBLE-FLOAT-POSITIVE-INFINITY" "LONG-FLOAT-POSITIVE-INFINITY"
	   "SINGLE-FLOAT-NEGATIVE-INFINITY" "SHORT-FLOAT-NEGATIVE-INFINITY"
	   "DOUBLE-FLOAT-NEGATIVE-INFINITY" "LONG-FLOAT-NEGATIVE-INFINITY"
	   "GET-FLOATING-POINT-MODES" "SET-FLOATING-POINT-MODES"
	   "GET-FLOATING-POINT-MODES"
	   "SET-FLOATING-POINT-MODES"
	   "ENCODE-FLOATING-POINT-MODES"
	   "DECODE-FLOATING-POINT-MODES"
	   "FLOAT-DENORMALIZED-P" "FLOAT-INFINITY-P"
	   "FLOAT-NAN-P" "FLOAT-TRAPPING-NAN-P"
	   "FLOAT-SIGNALING-NAN-P"
	   "WITH-FLOAT-TRAPS-MASKED")
	   "WITH-FLOAT-TRAPS-MASKED"
	   "WITH-FLOAT-TRAPS-ENABLED")
  ;; More float extensions
  #+double-double
  (:export "LEAST-POSITIVE-NORMALIZED-DOUBLE-DOUBLE-FLOAT"
Original line number Diff line number Diff line
@@ -1133,9 +1133,12 @@ character and illegal outputs are replaced by a question mark.")
  The standard streams are sys::*stdin*, sys::*stdout*, and
  sys::*stderr*, which are normally the input and/or output streams
  for *standard-input* and *standard-output*.  Also sets sys::*tty*
  (normally *terminal-io* to the given external format.  If the
  optional argument Filenames is gvien, then the filename encoding is
  set to the specified format."
  (normally *terminal-io* to the given external format.  The value of
  *default-external-format* is not changed.

  If the optional argument Filenames is given, then the filename
  encoding is set to the specified format, if it has not already been
  specified previously."
  (unless (find-external-format terminal)
    (error (intl:gettext "Can't find external-format ~S.") terminal))
  (setf (stream-external-format sys:*stdin*) terminal