New Upstream Release - cl-esrap
Ready changes
Summary
Merged new upstream version: 20230422.gitd806138 (was: 20211008.gitc99c33a).
Resulting package
Built on 2023-06-10T21:55 (took 8m50s)
The resulting binary packages can be installed (if you have the apt repository enabled) by running one of:
apt install -t fresh-releases cl-esrap
Diff
diff --git a/debian/changelog b/debian/changelog
index 7ec9d8e..0a75155 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-cl-esrap (20211008.gitc99c33a-2) UNRELEASED; urgency=medium
+cl-esrap (20230422.gitd806138-1) UNRELEASED; urgency=medium
[ Debian Janitor ]
* Set upstream metadata fields: Bug-Database, Bug-Submit, Repository-Browse.
@@ -7,7 +7,10 @@ cl-esrap (20211008.gitc99c33a-2) UNRELEASED; urgency=medium
[ Sébastien Villemot ]
* Remove myself from Uploaders
- -- Debian Janitor <janitor@jelmer.uk> Wed, 11 Jan 2023 21:20:45 -0000
+ [ Debian Janitor ]
+ * New upstream release.
+
+ -- Debian Janitor <janitor@jelmer.uk> Sat, 10 Jun 2023 21:46:54 -0000
cl-esrap (20211008.gitc99c33a-1) unstable; urgency=medium
diff --git a/debian/patches/doc-asdf-cache.patch b/debian/patches/doc-asdf-cache.patch
index 43f79a2..9997499 100644
--- a/debian/patches/doc-asdf-cache.patch
+++ b/debian/patches/doc-asdf-cache.patch
@@ -5,8 +5,10 @@ Forwarded: not-needed
Last-Update: 2021-12-20
---
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
---- a/doc/Makefile
-+++ b/doc/Makefile
+Index: cl-esrap.git/doc/Makefile
+===================================================================
+--- cl-esrap.git.orig/doc/Makefile
++++ cl-esrap.git/doc/Makefile
@@ -6,13 +6,14 @@ clean:
rm -rf include
rm -f *.pdf *.html *.info
diff --git a/debian/patches/drop-with-current-source-form.patch b/debian/patches/drop-with-current-source-form.patch
index b8107a3..bf713e2 100644
--- a/debian/patches/drop-with-current-source-form.patch
+++ b/debian/patches/drop-with-current-source-form.patch
@@ -7,8 +7,10 @@ Forwarded: not-needed
Last-Update: 2021-12-20
---
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
---- a/esrap.asd
-+++ b/esrap.asd
+Index: cl-esrap.git/esrap.asd
+===================================================================
+--- cl-esrap.git.orig/esrap.asd
++++ cl-esrap.git/esrap.asd
@@ -42,8 +42,7 @@
:bug-tracker "https://github.com/scymtym/esrap/issues"
:source-control (:git "https://github.com/scymtym/esrap.git")
@@ -19,8 +21,10 @@ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
:components ((:module "early"
:pathname "src"
:serial t
---- a/src/macros.lisp
-+++ b/src/macros.lisp
+Index: cl-esrap.git/src/macros.lisp
+===================================================================
+--- cl-esrap.git.orig/src/macros.lisp
++++ cl-esrap.git/src/macros.lisp
@@ -169,7 +169,6 @@ for use with IGNORE."
(use-cache (singleton-option 'defrule form :use-cache
'cache-policy :default :unless-trivial)))
@@ -71,8 +75,10 @@ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
(values transform around (funcall when)
(funcall error-report) (funcall use-cache))))
---- a/src/package.lisp
-+++ b/src/package.lisp
+Index: cl-esrap.git/src/package.lisp
+===================================================================
+--- cl-esrap.git.orig/src/package.lisp
++++ cl-esrap.git/src/package.lisp
@@ -22,9 +22,6 @@
#:cl
#:alexandria)
diff --git a/src/cache/packrat.lisp b/src/cache/packrat.lisp
index 9b01ccf..9e616a1 100644
--- a/src/cache/packrat.lisp
+++ b/src/cache/packrat.lisp
@@ -73,6 +73,17 @@
(t
(values (assoc-value (cdr cell) symbol :test #'eq))))))
+;;; Like ALEXANDRIA:ALIST-HASH-TABLE but quicker because it assumes
+;;; that there are no duplicate keys (of which alists prefer the
+;;; first) and it allows the call to MAKE-HASH-TABLE to be optimized.
+(defmacro alist-hash-table/no-dups (alist &rest hash-table-initargs)
+ (declare (optimize speed))
+ (with-gensyms (table cons)
+ `(let ((,table (make-hash-table ,@hash-table-initargs)))
+ (dolist (,cons ,alist)
+ (setf (gethash (car ,cons) ,table) (cdr ,cons)))
+ ,table)))
+
(declaim (ftype (function (t symbol input-position chunk-cache) (values t &optional))
(setf cached)))
(defun (setf cached) (result symbol position cache)
@@ -115,8 +126,10 @@
;; entries and we need another one, upgrade to
;; HASH-TABLE, then store the new entry.
((= count +packrat-hash-table-switch-point+)
- (let ((table (setf (aref chunk position-2)
- (alist-hash-table entries :test #'eq))))
+ (let ((table (alist-hash-table/no-dups
+ entries :test #'eq
+ :size #.(* 2 +packrat-hash-table-switch-point+))))
+ (setf (aref chunk position-2) table)
(setf (gethash symbol table) result)))
;; When there are less than
;; +PACKRAT-HASH-TABLE-SWITCH-POINT+ entries and we
diff --git a/src/conditions.lisp b/src/conditions.lisp
index e2beede..d0ec31b 100644
--- a/src/conditions.lisp
+++ b/src/conditions.lisp
@@ -1,5 +1,5 @@
;;;; Copyright (c) 2007-2013 Nikodemus Siivola <nikodemus@random-state.net>
-;;;; Copyright (c) 2012-2016 Jan Moringen <jmoringe@techfak.uni-bielefeld.de>
+;;;; Copyright (c) 2012-2022 Jan Moringen <jmoringe@techfak.uni-bielefeld.de>
;;;;
;;;; Permission is hereby granted, free of charge, to any person
;;;; obtaining a copy of this software and associated documentation files
@@ -103,7 +103,8 @@ the error occurred."))
:initform nil))
(:default-initargs :result (required-argument :result))
(:documentation
- "This error is signaled when a parse attempt fails in a way that ."))
+ "This error is signaled when a parse attempt fails because the input
+text does not conform to the grammar."))
(defmethod esrap-error-position ((condition esrap-parse-error))
(result-position (esrap-parse-error-context condition)))
diff --git a/src/context.lisp b/src/context.lisp
index 46c8cd4..e698b4b 100644
--- a/src/context.lisp
+++ b/src/context.lisp
@@ -116,10 +116,11 @@
(progn ,@body)
(setf (context-nonterminal-stack ,context) ,previous))))))
-;;; SYMBOL and POSITION must all lexical variables!
+;;; SYMBOL and POSITION must all be lexical variables!
(defmacro with-cached-result ((symbol position &optional (text nil)) &body forms)
(with-gensyms (context cache heads result)
`(flet ((do-it (position) ,@forms))
+ (declare (dynamic-extent #'do-it))
(let* ((,context *context*)
(,cache (context-cache ,context))
(,heads (context-heads ,context))
Debdiff
File lists identical (after any substitutions)
No differences were encountered in the control files