Commit aa1720f4 authored by Francois-Rene Rideau's avatar Francois-Rene Rideau

2.29.2: CCL: punt on upgrade from ASDF2. load-asd: use global readtable.

Package upgrade on CCL still fails due to setf function issues.
Until they are resolved, punt if upgrading from earlier than 2.27.

iolib 0.7.3 modifies the global readtable, and is thus incompatible with
the with-standard-io-syntax in load-asd, unless we re-bind readtable
to preserve this dirty global thing. Until we fix iolib and all clients,
revert to higher compatibility.
parent 4ce09756
......@@ -74,7 +74,7 @@
:licence "MIT"
:description "Another System Definition Facility"
:long-description "ASDF builds Common Lisp software organized into defined systems."
:version "2.29.1" ;; to be automatically updated by make bump-version
:version "2.29.2" ;; to be automatically updated by make bump-version
:depends-on ()
#+asdf3 :encoding #+asdf3 :utf-8
;; For most purposes, asdf itself specially counts as a builtin system.
......
......@@ -255,11 +255,15 @@ Going forward, we recommend new users should be using the source-registry.
(defmacro with-system-definitions ((&optional) &body body)
`(call-with-system-definitions #'(lambda () ,@body)))
(defun load-asd (pathname &key name (external-format (encoding-external-format (detect-encoding pathname))))
(defun load-asd (pathname &key name (external-format (encoding-external-format (detect-encoding pathname))) &aux (readtable *readtable*))
;; Tries to load system definition with canonical NAME from PATHNAME.
(with-system-definitions ()
(with-standard-io-syntax
(let ((*package* (find-package :asdf-user))
;; Note that our backward-compatible readtable is
;; a global readtable that gets globally side-effected. Ouch.
;; We should do something about that for ASDF3 if possible, or else ASDF4.
(*readtable* readtable)
(*print-readably* nil)
(*default-pathname-defaults*
;; resolve logical-pathnames so they won't wreak havoc in parsing namestrings.
......
;;; -*- mode: Common-Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp -*-
;;; This is ASDF 2.29.1: Another System Definition Facility.
;;; This is ASDF 2.29.2: Another System Definition Facility.
;;;
;;; Feedback, bug reports, and patches are all welcome:
;;; please mail to <asdf-devel@common-lisp.net>.
......@@ -54,7 +54,7 @@
(declaim (optimize (speed 1) (safety 3) (debug 3)))
(setf ext:*gc-verbose* nil))
#+(or abcl clisp cmu ecl xcl)
#+(or abcl clisp clozure cmu ecl xcl)
(eval-when (:load-toplevel :compile-toplevel :execute)
(unless (member :asdf3 *features*)
(let* ((existing-version
......@@ -71,7 +71,8 @@
(existing-version-number (and existing-version (read-from-string existing-major-minor)))
(away (format nil "~A-~A" :asdf existing-version)))
(when (and existing-version (< existing-version-number
#+abcl 2.25 #+clisp 2.27 #+cmu 2.018 #+ecl 2.21 #+xcl 2.27))
#+abcl 2.25 #+clisp 2.27 #+clozure 2.27
#+cmu 2.018 #+ecl 2.21 #+xcl 2.27))
(rename-package :asdf away)
(when *load-verbose*
(format t "; Renamed old ~A package away to ~A~%" :asdf away))))))
......
......@@ -52,7 +52,7 @@ You can compare this string with e.g.: (ASDF:VERSION-SATISFIES (ASDF:ASDF-VERSIO
;; "3.4.5.67" would be a development version in the official upstream of 3.4.5.
;; "3.4.5.0.8" would be your eighth local modification of official release 3.4.5
;; "3.4.5.67.8" would be your eighth local modification of development version 3.4.5.67
(asdf-version "2.29.1")
(asdf-version "2.29.2")
(existing-version (asdf-version)))
(setf *asdf-version* asdf-version)
(when (and existing-version (not (equal asdf-version existing-version)))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment