From fb7c59a0a89dd2b7fc821d7fc8ad9a95f2914e8f Mon Sep 17 00:00:00 2001
From: Francois-Rene Rideau <tunes@google.com>
Date: Wed, 27 Mar 2013 13:03:31 -0400
Subject: [PATCH] 2.32.31: some portability corner features for CCL and SBCL

CCL: add :purify to dump-image
SBCL: have an rmdir that works on SBCL < 1.0.44.
---
 asdf.asd             | 2 +-
 header.lisp          | 2 +-
 uiop/filesystem.lisp | 4 +++-
 uiop/image.lisp      | 4 ++--
 upgrade.lisp         | 2 +-
 version.lisp-expr    | 2 +-
 6 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/asdf.asd b/asdf.asd
index 15c57605..3cfeb48c 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.32.30" ;; to be automatically updated by make bump-version
+  :version "2.32.31" ;; 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/header.lisp b/header.lisp
index 58aa13fa..36f70c6f 100644
--- a/header.lisp
+++ b/header.lisp
@@ -1,5 +1,5 @@
 ;;; -*- mode: Common-Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp -*-
-;;; This is ASDF 2.32.30: Another System Definition Facility.
+;;; This is ASDF 2.32.31: Another System Definition Facility.
 ;;;
 ;;; Feedback, bug reports, and patches are all welcome:
 ;;; please mail to <asdf-devel@common-lisp.net>.
diff --git a/uiop/filesystem.lisp b/uiop/filesystem.lisp
index df1bc8ee..93efe99e 100644
--- a/uiop/filesystem.lisp
+++ b/uiop/filesystem.lisp
@@ -509,7 +509,9 @@ TRUENAMIZE uses TRUENAMIZE to resolve as many symlinks as possible."
     #+ecl (si:rmdir directory-pathname)
     #+lispworks (lw:delete-directory directory-pathname)
     #+mkcl (mkcl:rmdir directory-pathname)
-    #+sbcl (sb-ext:delete-directory directory-pathname)
+    #+sbcl #.(if-let (dd (find-symbol* :delete-directory :sb-ext nil))
+               `(,dd directory-pathname) ;; requires SBCL 1.0.44 or later
+               `(progn (require :sb-posix) (symbol-call :sb-posix :rmdir directory-pathname)))
     #-(or abcl allegro clisp clozure cmu cormanlisp digitool ecl gcl lispworks sbcl scl)
     (error "~S not implemented on ~S" 'delete-empty-directory (implementation-type))) ; genera xcl
 
diff --git a/uiop/image.lisp b/uiop/image.lisp
index 369a91c9..c4f1237f 100644
--- a/uiop/image.lisp
+++ b/uiop/image.lisp
@@ -255,7 +255,7 @@ if we are not called from a directly executable image."
   (defun dump-image (filename &key output-name executable
                                 ((:postlude *image-postlude*) *image-postlude*)
                                 ((:dump-hook *image-dump-hook*) *image-dump-hook*)
-                                #+clozure prepend-symbols)
+                                #+clozure prepend-symbols #+clozure (purify t))
     (declare (ignorable filename output-name executable))
     (setf *image-dumped-p* (if executable :executable t))
     (setf *image-restored-p* :in-regress)
@@ -281,7 +281,7 @@ if we are not called from a directly executable image."
               :norc t :script nil :init-function #'restore-image)))
     #+clozure
     (flet ((dump (prepend-kernel)
-             (ccl:save-application filename :prepend-kernel prepend-kernel
+             (ccl:save-application filename :prepend-kernel prepend-kernel :purify purify
                                             :toplevel-function (when executable #'restore-image))))
       ;;(setf ccl::*application* (make-instance 'ccl::lisp-development-system))
       (if prepend-symbols
diff --git a/upgrade.lisp b/upgrade.lisp
index 8c2f7430..b2f4302b 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.32.30")
+         (asdf-version "2.32.31")
          (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 6412dba6..c1a65a7b 100644
--- a/version.lisp-expr
+++ b/version.lisp-expr
@@ -1 +1 @@
-"2.32.30"
+"2.32.31"
-- 
GitLab