From 29d109493cc84f64a62ccab12f048ca33fc0c441 Mon Sep 17 00:00:00 2001
From: Gary King <gwking@metabang.com>
Date: Tue, 30 May 2006 18:14:40 +0000
Subject: [PATCH] Added &allow-other-keys to operate. Added test/test-force to
 test that forcing a system works (at least in a simple case).

---
 asdf.lisp              |  7 ++++---
 test/test-force.asd    |  5 +++++
 test/test-force.script | 16 ++++++++++++++++
 3 files changed, 25 insertions(+), 3 deletions(-)
 create mode 100644 test/test-force.asd
 create mode 100644 test/test-force.script

diff --git a/asdf.lisp b/asdf.lisp
index 7143e660..f140c433 100644
--- a/asdf.lisp
+++ b/asdf.lisp
@@ -1,4 +1,4 @@
-;;; This is asdf: Another System Definition Facility.  $Revision: 1.97 $
+;;; This is asdf: Another System Definition Facility.  $Revision: 1.98 $
 ;;;
 ;;; Feedback, bug reports, and patches are all welcome: please mail to
 ;;; <cclan-list@lists.sf.net>.  But note first that the canonical
@@ -109,7 +109,7 @@
 
 (in-package #:asdf)
 
-(defvar *asdf-revision* (let* ((v "$Revision: 1.97 $")
+(defvar *asdf-revision* (let* ((v "$Revision: 1.98 $")
 			       (colon (or (position #\: v) -1))
 			       (dot (position #\. v)))
 			  (and v colon dot 
@@ -828,7 +828,8 @@ system."))
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;; invoking operations
 
-(defun operate (operation-class system &rest args &key (verbose t) version)
+(defun operate (operation-class system &rest args &key (verbose t) version 
+                                &allow-other-keys)
   (let* ((op (apply #'make-instance operation-class
 		    :original-initargs args
 		    args))
diff --git a/test/test-force.asd b/test/test-force.asd
new file mode 100644
index 00000000..07d12b0c
--- /dev/null
+++ b/test/test-force.asd
@@ -0,0 +1,5 @@
+;;; -*- Lisp -*-
+(asdf:defsystem test-force
+  :components
+  ((:file "file1")))
+
diff --git a/test/test-force.script b/test/test-force.script
new file mode 100644
index 00000000..a04afe1a
--- /dev/null
+++ b/test/test-force.script
@@ -0,0 +1,16 @@
+;;; -*- Lisp -*-
+(load "../asdf")
+(setf asdf:*central-registry* '(*default-pathname-defaults*))
+
+(asdf:operate 'asdf:load-op 'test-force)
+(defvar file1-date (file-write-date (compile-file-pathname "file1")))
+
+;; unforced, date should stay same
+(sleep 1)
+(asdf:operate 'asdf:load-op 'test-force)
+(assert (= (file-write-date (compile-file-pathname "file1")) file1-date))
+
+;; forced, it should be later
+(sleep 1)
+(asdf:operate 'asdf:load-op 'test-force :force t)
+(assert (> (file-write-date (compile-file-pathname "file1")) file1-date))
-- 
GitLab