Raymond Toy pushed to branch issue-415-add-package-local-nicknames at cmucl / cmucl
Commits:
-
d6faeaef
by Raymond Toy at 2025-06-09T08:51:48-07:00
-
4e6e1afe
by Raymond Toy at 2025-06-09T10:39:52-07:00
-
852aaef6
by Raymond Toy at 2025-06-10T08:06:34-07:00
-
d6a6c40d
by Raymond Toy at 2025-06-10T18:21:12-07:00
-
46bd7cff
by Raymond Toy at 2025-06-23T08:45:54-07:00
-
9e6d1350
by Raymond Toy at 2025-06-23T08:45:54-07:00
-
c1e52c69
by Raymond Toy at 2025-06-23T10:16:33-07:00
9 changed files:
- bin/build.sh
- src/code/extfmts.lisp
- src/code/string.lisp
- src/contrib/asdf/asdf.lisp
- src/contrib/asdf/doc/asdf.html
- src/contrib/asdf/doc/asdf.info
- src/contrib/asdf/doc/asdf.pdf
- src/general-info/release-21f.md
- src/i18n/locale/cmucl.pot
Changes:
1 | 1 | #!/bin/sh
|
2 | 2 | |
3 | 3 | # Build CMUCL from source. The intent of this script is to make it a
|
4 | -# little easier invoke the other scripts and build CMUCL. In the
|
|
4 | +# little easier to invoke the other scripts and build CMUCL. In the
|
|
5 | 5 | # simplest case where your lisp is named cmulisp and no special
|
6 | 6 | # bootfiles are needed, you would build CMUCL using:
|
7 | 7 | #
|
8 | -# src/tools/build.sh -C ""
|
|
8 | +# bin/build.sh -b build -C "" -o cmulisp
|
|
9 | 9 | #
|
10 | 10 | # This will create a set of directories named build-2, build-3, and
|
11 | 11 | # build-4 and CMUCL will be built 3 consecutive times, using the
|
12 | 12 | # version of CMUCL from the previous build.
|
13 | 13 | #
|
14 | -#
|
|
15 | 14 | # You can control which of the builds are done by using the -1, -2, -3
|
16 | 15 | # options, but it is up to you to make sure the previous builds exist.
|
17 | 16 | #
|
18 | 17 | # A more realistic example would be
|
19 | 18 | #
|
20 | -# src/tools/build.sh -v "My build" -B boot-19b.lisp -o "my-lisp -noinit"
|
|
19 | +# bin/build.sh -C "linux" -B boot-19b.lisp -o "my-lisp"
|
|
21 | 20 | #
|
22 | 21 | # where you need to load the bootfile boot-19b.lisp and your lisp is
|
23 | -# not named cmulisp, but my-lisp.
|
|
22 | +# not named lisp, but my-lisp.
|
|
24 | 23 | #
|
25 | 24 | # For more complicated builds, you will need to run create-target.sh
|
26 | 25 | # manually, and adjust the bootstrap or setenv files by hand. Once
|
... | ... | @@ -30,7 +29,7 @@ |
30 | 29 | # Cross compiling is not supported with this script. You will have to
|
31 | 30 | # do that by hand.
|
32 | 31 | #
|
33 | -# For more information see src/BUILDING.
|
|
32 | +# For more information run "bin/build.sh -?". Also see BUILDING.md.
|
|
34 | 33 | #
|
35 | 34 | # $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/tools/build.sh,v 1.38 2010/11/10 19:17:55 rtoy Exp $
|
36 | 35 | #
|
... | ... | @@ -1299,7 +1299,7 @@ character and illegal outputs are replaced by a question mark.") |
1299 | 1299 | (#.+ef-oc+ (%ef-octet-count ef))))
|
1300 | 1300 | `(setf (aref (ef-cache (find-external-format ,(ef-name ef))) ,slot)
|
1301 | 1301 | ,(subst (ef-name ef) ef
|
1302 | - (function-lambda-expression (aref (ef-cache ef) slot)))))))
|
|
1302 | + (function-lambda-expression (aref (ef-cache ef) slot))))))
|
|
1303 | 1303 | |
1304 | 1304 | ;;; Builtin external formats.
|
1305 | 1305 |
... | ... | @@ -90,7 +90,7 @@ |
90 | 90 | (defmacro with-string-codepoint-iterator ((next string) &body body)
|
91 | 91 | _N"WITH-STRING-CODEPOINT-ITERATOR ((next string) &body body)
|
92 | 92 | provides a method of looping through a string from the beginning to
|
93 | - the end of the string prodcucing successive codepoints from the
|
|
93 | + the end of the string producing successive codepoints from the
|
|
94 | 94 | string. NEXT is bound to a generator macro that, within the scope
|
95 | 95 | of the invocation, returns one or two values. The first value tells
|
96 | 96 | whether any objects remain in the string. When the first value is
|
... | ... | @@ -989,7 +989,7 @@ |
989 | 989 | (defmacro with-string-glyph-iterator ((next string) &body body)
|
990 | 990 | _N"WITH-STRING-GLYPH-ITERATOR ((next string) &body body)
|
991 | 991 | provides a method of looping through a string from the beginning to
|
992 | - the end of the string prodcucing successive glyphs from the string.
|
|
992 | + the end of the string producing successive glyphs from the string.
|
|
993 | 993 | NEXT is bound to a generator macro that, within the scope of the
|
994 | 994 | invocation, returns one or three values. The first value tells
|
995 | 995 | whether any objects remain in the string. When the first value is
|
1 | 1 | ;;; -*- mode: Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp ; Package: CL-USER ; buffer-read-only: t; -*-
|
2 | -;;; This is ASDF 3.3.7: Another System Definition Facility.
|
|
2 | +;;; This is ASDF 3.3.7.4: Another System Definition Facility.
|
|
3 | 3 | ;;;
|
4 | 4 | ;;; Feedback, bug reports, and patches are all welcome:
|
5 | 5 | ;;; please mail to <asdf-devel@common-lisp.net>.
|
... | ... | @@ -1165,7 +1165,7 @@ Return a string made of the parts not omitted or emitted by FROB." |
1165 | 1165 | |
1166 | 1166 | (defmacro compatfmt (format)
|
1167 | 1167 | #+(or gcl genera)
|
1168 | - (frob-substrings format `("~3i~_" #+genera ,@'("~@<" "~@;" "~@:>" "~:>")))
|
|
1168 | + (frob-substrings format `("~3i~_" "~@<" "~@;" "~@:>" "~:>"))
|
|
1169 | 1169 | #-(or gcl genera) format))
|
1170 | 1170 | ;;;; -------------------------------------------------------------------------
|
1171 | 1171 | ;;;; General Purpose Utilities for ASDF
|
... | ... | @@ -1848,7 +1848,7 @@ form suitable for testing with #+." |
1848 | 1848 | (in-package :uiop/version)
|
1849 | 1849 | |
1850 | 1850 | (with-upgradability ()
|
1851 | - (defparameter *uiop-version* "3.3.7")
|
|
1851 | + (defparameter *uiop-version* "3.3.7.4")
|
|
1852 | 1852 | |
1853 | 1853 | (defun unparse-version (version-list)
|
1854 | 1854 | "From a parsed version (a list of natural numbers), compute the version string"
|
... | ... | @@ -2064,7 +2064,7 @@ keywords explicitly." |
2064 | 2064 | |
2065 | 2065 | (defun os-unix-p ()
|
2066 | 2066 | "Is the underlying operating system some Unix variant?"
|
2067 | - (or (featurep '(:or :unix :cygwin :haiku)) (os-macosx-p)))
|
|
2067 | + (or (featurep '(:or :unix :cygwin :haiku :linux)) (os-macosx-p)))
|
|
2068 | 2068 | |
2069 | 2069 | (defun os-windows-p ()
|
2070 | 2070 | "Is the underlying operating system Microsoft Windows?"
|
... | ... | @@ -2376,7 +2376,7 @@ suitable for use as a directory name to segregate Lisp FASLs, C dynamic librarie |
2376 | 2376 | (error "Could not set current directory to ~A" x))
|
2377 | 2377 | #+ecl (ext:chdir x)
|
2378 | 2378 | #+clasp (ext:chdir x t)
|
2379 | - #+gcl (system:chdir x)
|
|
2379 | + #+gcl (system::chdir x)
|
|
2380 | 2380 | #+lispworks (hcl:change-directory x)
|
2381 | 2381 | #+mkcl (mk-ext:chdir x)
|
2382 | 2382 | #+sbcl (progn (require :sb-posix) (symbol-call :sb-posix :chdir (sb-ext:native-namestring x)))
|
... | ... | @@ -2811,6 +2811,7 @@ actually-existing directory." |
2811 | 2811 | |
2812 | 2812 | ;;; Parsing filenames
|
2813 | 2813 | (with-upgradability ()
|
2814 | + #-gcl
|
|
2814 | 2815 | (declaim (ftype function ensure-pathname)) ; forward reference
|
2815 | 2816 | |
2816 | 2817 | (defun split-unix-namestring-directory-components
|
... | ... | @@ -3339,20 +3340,6 @@ or the original (parsed) pathname if it is false (the default)." |
3339 | 3340 | (when p
|
3340 | 3341 | #+allegro
|
3341 | 3342 | (probe-file p :follow-symlinks truename)
|
3342 | - #+gcl
|
|
3343 | - (if truename
|
|
3344 | - (truename* p)
|
|
3345 | - (let ((kind (car (si::stat p))))
|
|
3346 | - (when (eq kind :link)
|
|
3347 | - (setf kind (ignore-errors (car (si::stat (truename* p))))))
|
|
3348 | - (ecase kind
|
|
3349 | - ((nil) nil)
|
|
3350 | - ((:file :link)
|
|
3351 | - (cond
|
|
3352 | - ((file-pathname-p p) p)
|
|
3353 | - ((directory-pathname-p p)
|
|
3354 | - (subpathname p (car (last (pathname-directory p)))))))
|
|
3355 | - (:directory (ensure-directory-pathname p)))))
|
|
3356 | 3343 | #+clisp
|
3357 | 3344 | #.(let* ((fs (or #-os-windows (find-symbol* '#:file-stat :posix nil)))
|
3358 | 3345 | (pp (find-symbol* '#:probe-pathname :ext nil)))
|
... | ... | @@ -3367,7 +3354,7 @@ or the original (parsed) pathname if it is false (the default)." |
3367 | 3354 | (t '(or (and (truename* p) p)
|
3368 | 3355 | (if-let (d (ensure-directory-pathname p))
|
3369 | 3356 | (and (truename* d) d)))))))
|
3370 | - #-(or allegro clisp gcl)
|
|
3357 | + #-(or allegro clisp)
|
|
3371 | 3358 | (if truename
|
3372 | 3359 | (probe-file p)
|
3373 | 3360 | (and
|
... | ... | @@ -6304,13 +6291,13 @@ MAKE-INSTANCE. Primarily, it is being made available to enable type-checking.")) |
6304 | 6291 | (not-implemented-error 'process-info-pid)))
|
6305 | 6292 | |
6306 | 6293 | (defun %process-status (process-info)
|
6294 | + #-(or allegro clozure cmucl ecl lispworks mkcl sbcl scl)
|
|
6295 | + (not-implemented-error '%process-status)
|
|
6307 | 6296 | (if-let (exit-code (slot-value process-info 'exit-code))
|
6308 | 6297 | (return-from %process-status
|
6309 | 6298 | (if-let (signal-code (slot-value process-info 'signal-code))
|
6310 | 6299 | (values :signaled signal-code)
|
6311 | 6300 | (values :exited exit-code))))
|
6312 | - #-(or allegro clasp clozure cmucl ecl lispworks mkcl sbcl scl)
|
|
6313 | - (not-implemented-error '%process-status)
|
|
6314 | 6301 | (if-let (process (slot-value process-info 'process))
|
6315 | 6302 | (multiple-value-bind (status code)
|
6316 | 6303 | (progn
|
... | ... | @@ -6322,13 +6309,13 @@ MAKE-INSTANCE. Primarily, it is being made available to enable type-checking.")) |
6322 | 6309 | (symbol-call :ext '#:external-process-status process)
|
6323 | 6310 | (not-implemented-error '%process-status))
|
6324 | 6311 | #+clozure (ccl:external-process-status process)
|
6325 | - #+(or cmucl scl) (let ((status (ext:process-status process)))
|
|
6326 | - (if (member status '(:exited :signaled))
|
|
6327 | - ;; Calling ext:process-exit-code on
|
|
6328 | - ;; processes that are still alive
|
|
6329 | - ;; yields an undefined result
|
|
6330 | - (values status (ext:process-exit-code process))
|
|
6331 | - status))
|
|
6312 | + #+cmucl (let ((status (ext:process-status process)))
|
|
6313 | + (if (member status '(:exited :signaled :stopped))
|
|
6314 | + ;; ext:process-exit-code can also be called
|
|
6315 | + ;; for stopped processes to determine the
|
|
6316 | + ;; signal that stopped them
|
|
6317 | + (values status (ext:process-exit-code process))
|
|
6318 | + status))
|
|
6332 | 6319 | #+ecl (ext:external-process-status process)
|
6333 | 6320 | #+lispworks
|
6334 | 6321 | ;; a signal is only returned on LispWorks 7+
|
... | ... | @@ -6353,7 +6340,14 @@ MAKE-INSTANCE. Primarily, it is being made available to enable type-checking.")) |
6353 | 6340 | ;; sb-ext:process-exit-code can also be
|
6354 | 6341 | ;; called for stopped processes to determine
|
6355 | 6342 | ;; the signal that stopped them
|
6356 | - (values status (sb-ext:process-exit-code process)))))
|
|
6343 | + (values status (sb-ext:process-exit-code process))))
|
|
6344 | + #+scl (let ((status (ext:process-status process)))
|
|
6345 | + (if (member status '(:exited :signaled))
|
|
6346 | + ;; Calling ext:process-exit-code on
|
|
6347 | + ;; processes that are still alive
|
|
6348 | + ;; yields an undefined result
|
|
6349 | + (values status (ext:process-exit-code process))
|
|
6350 | + status)))
|
|
6357 | 6351 | (case status
|
6358 | 6352 | (:exited (setf (slot-value process-info 'exit-code) code))
|
6359 | 6353 | (:signaled (let ((%code (%signal-to-exit-code code)))
|
... | ... | @@ -6663,7 +6657,7 @@ could block because its output buffers are full." |
6663 | 6657 | (not-implemented-error 'launch-program))
|
6664 | 6658 | #+clozure 'ccl:run-program
|
6665 | 6659 | #+(or cmucl ecl scl) 'ext:run-program
|
6666 | -
|
|
6660 | + |
|
6667 | 6661 | #+lispworks ,@'('system:run-shell-command `("/usr/bin/env" ,@command)) ; full path needed
|
6668 | 6662 | #+mkcl 'mk-ext:run-program
|
6669 | 6663 | #+sbcl 'sb-ext:run-program
|
... | ... | @@ -6751,7 +6745,6 @@ could block because its output buffers are full." |
6751 | 6745 | ;; returns (io err pid) of which we keep io.
|
6752 | 6746 | (t (prop 'process io-or-pid)))))
|
6753 | 6747 | process-info)))
|
6754 | - |
|
6755 | 6748 | ;;;; -------------------------------------------------------------------------
|
6756 | 6749 | ;;;; run-program initially from xcvb-driver.
|
6757 | 6750 | |
... | ... | @@ -7966,7 +7959,7 @@ previously-loaded version of ASDF." |
7966 | 7959 | ;; "3.4.5.67" would be a development version in the official branch, on top of 3.4.5.
|
7967 | 7960 | ;; "3.4.5.0.8" would be your eighth local modification of official release 3.4.5
|
7968 | 7961 | ;; "3.4.5.67.8" would be your eighth local modification of development version 3.4.5.67
|
7969 | - (asdf-version "3.3.7")
|
|
7962 | + (asdf-version "3.3.7.4")
|
|
7970 | 7963 | (existing-version (asdf-version)))
|
7971 | 7964 | (setf *asdf-version* asdf-version)
|
7972 | 7965 | (when (and existing-version (not (equal asdf-version existing-version)))
|
... | ... | @@ -14111,7 +14104,8 @@ system or its dependencies if it has already been loaded." |
14111 | 14104 | (setf excl:*warn-on-nested-reader-conditionals* uiop/common-lisp::*acl-warn-save*))
|
14112 | 14105 | |
14113 | 14106 | #+(and allegro allegro-v10.1) ;; check for patch needed for upgradeability
|
14114 | - (unless (assoc "ma040" (cdr (assoc :lisp sys:*patches*)) :test 'equal)
|
|
14107 | + (when (and (not (member :developer excl::.build-mode. :test #'eq))
|
|
14108 | + (not (assoc "ma040" (cdr (assoc :lisp sys:*patches*)) :test 'equal)))
|
|
14115 | 14109 | (warn 'asdf-install-warning
|
14116 | 14110 | :format-control "On Allegro Common Lisp 10.1, patch pma040 is ~
|
14117 | 14111 | needed for correct ASDF upgrading. Please update your Allegro image ~
|
... | ... | @@ -23,7 +23,7 @@ public domain. |
23 | 23 | * Add support for Gray streams implementation of file-length via
|
24 | 24 | `ext:stream-file-length` generic function.
|
25 | 25 | * Changes:
|
26 | - * Update to ASDF 3.3.7
|
|
26 | + * Update to ASDF 3.3.7.4
|
|
27 | 27 | * The RNG has changed from an old version of xoroshiro128+ to
|
28 | 28 | xoroshiro128**. This means sequences of random numbers will be
|
29 | 29 | different from before. See ~~#276~~.
|
... | ... | @@ -131,6 +131,8 @@ public domain. |
131 | 131 | * #398 Update mk:defsystem to v3.9.2
|
132 | 132 | * #400 `unix-resolve-links` no longer breaks on some lengths
|
133 | 133 | * #401 `file-position` now returns the correct value
|
134 | + * #404 Use `realpath(3)` to implement `unix::unix-resolve-links`
|
|
135 | + * #405 `unix::unix-resolve-links` has been removed.
|
|
134 | 136 | * Other changes:
|
135 | 137 | * Improvements to the PCL implementation of CLOS:
|
136 | 138 | * Changes to building procedure:
|
... | ... | @@ -3716,7 +3716,7 @@ msgstr "" |
3716 | 3716 | msgid ""
|
3717 | 3717 | "WITH-STRING-CODEPOINT-ITERATOR ((next string) &body body)\n"
|
3718 | 3718 | " provides a method of looping through a string from the beginning to\n"
|
3719 | -" the end of the string prodcucing successive codepoints from the\n"
|
|
3719 | +" the end of the string producing successive codepoints from the\n"
|
|
3720 | 3720 | " string. NEXT is bound to a generator macro that, within the scope\n"
|
3721 | 3721 | " of the invocation, returns one or two values. The first value tells\n"
|
3722 | 3722 | " whether any objects remain in the string. When the first value is\n"
|
... | ... | @@ -3985,7 +3985,7 @@ msgstr "" |
3985 | 3985 | msgid ""
|
3986 | 3986 | "WITH-STRING-GLYPH-ITERATOR ((next string) &body body)\n"
|
3987 | 3987 | " provides a method of looping through a string from the beginning to\n"
|
3988 | -" the end of the string prodcucing successive glyphs from the string.\n"
|
|
3988 | +" the end of the string producing successive glyphs from the string.\n"
|
|
3989 | 3989 | " NEXT is bound to a generator macro that, within the scope of the\n"
|
3990 | 3990 | " invocation, returns one or three values. The first value tells\n"
|
3991 | 3991 | " whether any objects remain in the string. When the first value is\n"
|