From aa1720f410cacd9976088a7fe836f2cdb668532c Mon Sep 17 00:00:00 2001 From: Francois-Rene Rideau <tunes@google.com> Date: Mon, 18 Feb 2013 12:25:31 +0100 Subject: [PATCH] 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. --- asdf.asd | 2 +- find-system.lisp | 6 +++++- header.lisp | 7 ++++--- upgrade.lisp | 2 +- version.lisp-expr | 2 +- 5 files changed, 12 insertions(+), 7 deletions(-) diff --git a/asdf.asd b/asdf.asd index a9b28055f..8c8eae6bb 100644 --- a/asdf.asd +++ b/asdf.asd @@ -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. diff --git a/find-system.lisp b/find-system.lisp index addecb724..3e6e9ab5d 100644 --- a/find-system.lisp +++ b/find-system.lisp @@ -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. diff --git a/header.lisp b/header.lisp index 06e22d8e0..99f2a249b 100644 --- a/header.lisp +++ b/header.lisp @@ -1,5 +1,5 @@ ;;; -*- 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)))))) diff --git a/upgrade.lisp b/upgrade.lisp index 79b7eafc9..c5d14f6a4 100644 --- a/upgrade.lisp +++ b/upgrade.lisp @@ -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))) diff --git a/version.lisp-expr b/version.lisp-expr index 614207e60..8a71de568 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -1 +1 @@ -"2.29.1" +"2.29.2" -- GitLab