From 1274f3ea0a7978acd70f9060219a865690b6e146 Mon Sep 17 00:00:00 2001
From: "Robert P. Goldman" <rpgoldman@gmail.com>
Date: Sun, 10 Aug 2014 18:14:43 -0500
Subject: [PATCH] Fix bug in AROUND method for OPERATE (operate.lisp).

Also, add a test case and bump version to 3.1.3.3.
---
 asdf.asd                           | 2 +-
 header.lisp                        | 2 +-
 operate.lisp                       | 2 +-
 test/test-operation-classes.script | 5 ++++-
 upgrade.lisp                       | 2 +-
 version.lisp-expr                  | 2 +-
 6 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/asdf.asd b/asdf.asd
index c6694ef6..39408248 100644
--- a/asdf.asd
+++ b/asdf.asd
@@ -75,7 +75,7 @@
   :licence "MIT"
   :description "Another System Definition Facility"
   :long-description "ASDF builds Common Lisp software organized into defined systems."
-  :version "3.1.3.2" ;; to be automatically updated by make bump-version
+  :version "3.1.3.4" ;; to be automatically updated by make bump-version
   :depends-on ()
   #+asdf3 :encoding #+asdf3 :utf-8
   :class #.(if (find-class 'package-inferred-system nil) 'package-inferred-system 'system)
diff --git a/header.lisp b/header.lisp
index 53e2e064..feb5ca69 100644
--- a/header.lisp
+++ b/header.lisp
@@ -1,5 +1,5 @@
 ;;; -*- mode: Common-Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp ; buffer-read-only: t; -*-
-;;; This is ASDF 3.1.3.2: Another System Definition Facility.
+;;; This is ASDF 3.1.3.4: Another System Definition Facility.
 ;;;
 ;;; Feedback, bug reports, and patches are all welcome:
 ;;; please mail to <asdf-devel@common-lisp.net>.
diff --git a/operate.lisp b/operate.lisp
index 370a4eeb..e69e249c 100644
--- a/operate.lisp
+++ b/operate.lisp
@@ -59,7 +59,7 @@ The :FORCE or :FORCE-NOT argument to OPERATE can be:
              (etypecase operation
                (operation (let ((name (type-of operation))
                                 (initargs (operation-original-initargs operation)))
-                            #'(lambda () (make-operation name :original-initargs initargs initargs))))
+                            #'(lambda () (apply 'make-operation name :original-initargs initargs initargs))))
                ((or symbol string) (constantly operation))))
            (component-path (typecase component ;; to remake the component after ASDF upgrade
                              (component (component-find-path component))
diff --git a/test/test-operation-classes.script b/test/test-operation-classes.script
index 163db3d2..e780f327 100644
--- a/test/test-operation-classes.script
+++ b/test/test-operation-classes.script
@@ -59,7 +59,7 @@
 (assert (make-instance 'my-good-operation))
 
 
-;; This test exercises the backward-compatibiMlity mechanism of operation,
+;; This test exercises the backward-compatibility mechanism of operation,
 ;; whereby traditional unqualified operations are implicitly downward and sideward
 (defclass trivial-operation (operation) ())
 
@@ -73,3 +73,6 @@
    (trivial-operation "test-asdf/test-module-depend" "quux")))
 
 (operate 'trivial-operation 'test-asdf/test-module-depend)
+;;; this test intended to catch a bug in operate :around method in operate.lisp,
+;;; thanks to Jan Moringen [2014/08/10:rpg]
+(operate (make-instance 'trivial-operation) 'test-asdf/test-module-depend)
diff --git a/upgrade.lisp b/upgrade.lisp
index 69499d02..ce272cfb 100644
--- a/upgrade.lisp
+++ b/upgrade.lisp
@@ -67,7 +67,7 @@ previously-loaded version of ASDF."
          ;; "3.4.5.67" would be a development version in the official branch, on top 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 "3.1.3.2")
+         (asdf-version "3.1.3.4")
          (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 0fff27f2..78cbde5b 100644
--- a/version.lisp-expr
+++ b/version.lisp-expr
@@ -1,2 +1,2 @@
-"3.1.3.2"
+"3.1.3.4"
 
-- 
GitLab