New Upstream Snapshot - ht-el

Ready changes

Summary

Merged new upstream version: 2.3+git20221031.1.e83fdb8 (was: 2.3).

Resulting package

Built on 2022-11-20T18:06 (took 4m12s)

The resulting binary packages can be installed (if you have the apt repository enabled) by running one of:

apt install -t fresh-snapshots elpa-ht

Lintian Result

Diff

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 6514277..5c91459 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+## v2.4 (not yet tagged)
+
+No changes yet.
+
 ## v2.3
 
 ### Features
diff --git a/debian/changelog b/debian/changelog
index 8a223de..788a124 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+ht-el (2.3+git20221031.1.e83fdb8-1) UNRELEASED; urgency=low
+
+  * New upstream snapshot.
+
+ -- Debian Janitor <janitor@jelmer.uk>  Sun, 20 Nov 2022 18:04:04 -0000
+
 ht-el (2.3-2) unstable; urgency=medium
 
   * d/control: Build-Depend on elpa-dash, not dash-el (Closes: #995584)
diff --git a/debian/patches/0001-fix-documentation.diff b/debian/patches/0001-fix-documentation.diff
index b2caeda..16ad65f 100644
--- a/debian/patches/0001-fix-documentation.diff
+++ b/debian/patches/0001-fix-documentation.diff
@@ -5,8 +5,10 @@ This patch removes badges icons from README file. These icons are
 intended rather for developers and are loaded from several external
 web sites.
 
---- a/README.md
-+++ b/README.md
+Index: ht-el.git/README.md
+===================================================================
+--- ht-el.git.orig/README.md
++++ ht-el.git/README.md
 @@ -2,10 +2,6 @@
  
  The missing hash table library for Emacs.
diff --git a/ht.el b/ht.el
index 906882e..7e795e8 100644
--- a/ht.el
+++ b/ht.el
@@ -3,7 +3,7 @@
 ;; Copyright (C) 2013 Wilfred Hughes
 
 ;; Author: Wilfred Hughes <me@wilfred.me.uk>
-;; Version: 2.3
+;; Version: 2.4
 ;; Keywords: hash table, hash map, hash
 ;; Package-Requires: ((dash "2.12.0"))
 
@@ -182,7 +182,7 @@ these variables, then use `ht-map' to avoid warnings."
   (ht-map (lambda (_key value) value) table))
 
 (defun ht-items (table)
-  "Return a list of two-element lists '(key value) from TABLE."
+  "Return a list of two-element lists \\='(key value) from TABLE."
   (declare (side-effect-free t))
   (ht-amap (list key value) table))
 
@@ -206,12 +206,12 @@ variables key and value bound."
           (puthash key (gethash key table) result)))))
 
 (defun ht->plist (table)
-  "Return a flat list '(key1 value1 key2 value2...) from TABLE.
+  "Return a flat list \\='(key1 value1 key2 value2...) from TABLE.
 
 Note that hash tables are unordered, so this cannot be an exact
 inverse of `ht<-plist'.  The following is not guaranteed:
 
-\(let ((data '(a b c d)))
+\(let ((data \\='(a b c d)))
   (equalp data
           (ht->plist (ht<-plist data))))"
   (declare (side-effect-free t))
@@ -225,12 +225,12 @@ inverse of `ht<-plist'.  The following is not guaranteed:
   (inline-quote (copy-hash-table ,table)))
 
 (defun ht->alist (table)
-  "Return a list of two-element lists '(key . value) from TABLE.
+  "Return a list of two-element lists \\='(key . value) from TABLE.
 
 Note that hash tables are unordered, so this cannot be an exact
 inverse of `ht<-alist'.  The following is not guaranteed:
 
-\(let ((data '((a . b) (c . d))))
+\(let ((data \\='((a . b) (c . d))))
   (equalp data
           (ht->alist (ht<-alist data))))"
   (declare (side-effect-free t))
@@ -243,7 +243,7 @@ inverse of `ht<-alist'.  The following is not guaranteed:
 (defalias 'ht-p 'hash-table-p)
 
 (define-inline ht-contains? (table key)
-  "Return 't if TABLE contains KEY."
+  "Return \\='t if TABLE contains KEY."
   (declare (side-effect-free t))
   (inline-quote
    (let ((not-found-symbol (make-symbol "ht--not-found")))
@@ -325,8 +325,11 @@ Does not compare equality predicates."
         (sentinel (make-symbol "ht-sentinel")))
     (and (equal (length keys1) (length keys2))
          (--all?
-          (equal (ht-get table1 it)
-                 (ht-get table2 it sentinel))
+          (if (ht-p (ht-get table1 it))
+              (ht-equal-p (ht-get table1 it)
+                          (ht-get table2 it))
+            (equal (ht-get table1 it)
+                 (ht-get table2 it sentinel)))
           keys1))))
 
 (defalias 'ht-equal-p 'ht-equal?)
diff --git a/test/ht-test.el b/test/ht-test.el
index 23744d1..c52ed75 100644
--- a/test/ht-test.el
+++ b/test/ht-test.el
@@ -316,7 +316,12 @@
   (should (not (ht-equal-p (ht (1 2)) (ht (2 2)))))
   ;; Different amount of keys.
   (should (not (ht-equal-p (ht (1 2)) (ht (1 2) (3 4)))))
-  (should (not (ht-equal-p (ht (1 2) (3 4)) (ht (1 2))))))
+  (should (not (ht-equal-p (ht (1 2) (3 4)) (ht (1 2)))))
+  ;; Nested
+  (should (ht-equal-p (ht ("foo" (ht ("bar" "baz"))))
+                      (ht ("foo" (ht ("bar" "baz"))))))
+  (should (ht-equal-p (ht ("foo" (ht ("bar" (ht ("baz" "qux"))))))
+                      (ht ("foo" (ht ("bar" (ht ("baz" "qux")))))))))
 
 (ert-deftest ht-test-two-name-style-predicator ()
   (let ((real-definition (lambda (sym)

Debdiff

[The following lists of changes regard files as different if they have different names, permissions or owners.]

Files in second set of .debs but not in first

-rw-r--r--  root/root   /usr/share/emacs/site-lisp/elpa-src/ht-2.4/ht-autoloads.el
-rw-r--r--  root/root   /usr/share/emacs/site-lisp/elpa-src/ht-2.4/ht-pkg.el
-rw-r--r--  root/root   /usr/share/emacs/site-lisp/elpa-src/ht-2.4/ht.el

Files in first set of .debs but not in second

-rw-r--r--  root/root   /usr/share/emacs/site-lisp/elpa-src/ht-2.3/ht-autoloads.el
-rw-r--r--  root/root   /usr/share/emacs/site-lisp/elpa-src/ht-2.3/ht-pkg.el
-rw-r--r--  root/root   /usr/share/emacs/site-lisp/elpa-src/ht-2.3/ht.el

No differences were encountered in the control files

More details

Full run details