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 a9b28055..8c8eae6b 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 addecb72..3e6e9ab5 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 06e22d8e..99f2a249 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 79b7eafc..c5d14f6a 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 614207e6..8a71de56 100644
--- a/version.lisp-expr
+++ b/version.lisp-expr
@@ -1 +1 @@
-"2.29.1"
+"2.29.2"
-- 
GitLab