From 37f961932721c8146f05bdfb1abc08d193824bf9 Mon Sep 17 00:00:00 2001
From: "Kevin M. Rosenberg" <kevin@rosenberg.net>
Date: Sun, 20 Jul 2003 16:25:21 +0000
Subject: [PATCH] r5341: *** empty log message ***

---
 debian/changelog |  6 ++++++
 src.lisp         | 17 ++++++++++++-----
 2 files changed, 18 insertions(+), 5 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index 0279f43..b8cecda 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+cl-puri (1.2.6-1) unstable; urgency=low
+
+  * Fix .parse-error
+
+ --
+
 cl-puri (1.2.5-1) unstable; urgency=low
 
   * add shrink vector, AllegroCL fixes
diff --git a/src.lisp b/src.lisp
index 4262701..edb8afa 100644
--- a/src.lisp
+++ b/src.lisp
@@ -22,7 +22,7 @@
 ;; Original version from ACL 6.1:
 ;; uri.cl,v 2.3.6.4.2.1 2001/08/09 17:42:39 layer
 ;;
-;; $Id: src.lisp,v 1.7 2003/07/19 20:32:48 kevin Exp $
+;; $Id: src.lisp,v 1.8 2003/07/20 16:25:21 kevin Exp $
 
 (defpackage #:puri
   (:use #:cl)
@@ -63,8 +63,6 @@
   (declaim (optimize (speed 3))))
 
 
-#-(or allegro lispworks)
-(define-condition parse-error (error)  ())
 
 #-allegro
 (defun parse-body (forms &optional env)
@@ -99,10 +97,19 @@
   (subseq str 0 size))
 
 
+#-(or allegro lispworks)
+(define-condition parse-error (error)
+  ((fmt-control :initarg :fmt-control
+		:reader fmt-control)
+   (fmt-args :initarg :fmt-args
+		  :reader fmt-args))
+  (:report (lambda (c stream)
+	     (format stream "Parse error: ")
+	     (apply #'format stream (fmt-control c) (fmt-args c)))))
+
 #-allegro
 (defun .parse-error (fmt &rest args)
-  (error (make-condition 'parse-error :format-control fmt
-			 :format-arguments args)))
+  (error (make-condition 'parse-error :fmt-control fmt :fmt-args args)))
 
 #-allegro
 (defun internal-reader-error (stream fmt &rest args)
-- 
GitLab