]> git.eshelyaron.com Git - emacs.git/commitdiff
Add two missing 'number-or-marker' entries to the cl machinery (bug#66615)
authorAndrea Corallo <acorallo@gnu.org>
Wed, 18 Oct 2023 14:10:08 +0000 (16:10 +0200)
committerAndrea Corallo <acorallo@gnu.org>
Thu, 19 Oct 2023 11:59:57 +0000 (13:59 +0200)
Assuming 'number-or-marker' is a type (as present multiple times in
cl--typeof-types) adding some missing entries for coherency.

* lisp/emacs-lisp/cl-preloaded.el (cl--typeof-types): Add
'number-or-marker' as supertype of 'number' in the 'float' branch.

* lisp/emacs-lisp/cl-macs.el (cl-deftype-satisfies): Add
'number-or-marker'.

* test/lisp/emacs-lisp/comp-cstr-tests.el (comp-cstr-typespec-tests-alist):
Update test.

* test/src/comp-tests.el (comp-tests-type-spec-tests): Update two testes.

lisp/emacs-lisp/cl-macs.el
lisp/emacs-lisp/cl-preloaded.el
test/lisp/emacs-lisp/comp-cstr-tests.el
test/src/comp-tests.el

index 8025a64f1bf36200485318302e8ca77060f13c09..722d561b9f402099bd9fef4ec003e5d48f49cabb 100644 (file)
@@ -3502,7 +3502,8 @@ Of course, we really can't know that for sure, so it's just a heuristic."
                  (symbol       . symbolp)
                  (vector       . vectorp)
                  (window       . windowp)
-                 ;; FIXME: Do we really want to consider this a type?
+                 ;; FIXME: Do we really want to consider these types?
+                 (number-or-marker . number-or-marker-p)
                  (integer-or-marker . integer-or-marker-p)
                  ))
   (put type 'cl-deftype-satisfies pred))
index 676326980aad416992a0e1aeead9bf01d3de9fd1..96e288db7d51da01046ebd12c7acda552192e44b 100644 (file)
@@ -58,8 +58,8 @@
     ;; Markers aren't `numberp', yet they are accepted wherever integers are
     ;; accepted, pretty much.
     (marker number-or-marker atom)
-    (overlay atom) (float number atom) (window-configuration atom)
-    (process atom) (window atom)
+    (overlay atom) (float number number-or-marker atom)
+    (window-configuration atom) (process atom) (window atom)
     ;; FIXME: We'd want to put `function' here, but that's only true
     ;; for those `subr's which aren't special forms!
     (subr atom)
index a4f282fcfef68fc5223dbd120541d2df10332834..d2f552af6fa1eb0648e740e2be51076b6262bfd9 100644 (file)
       ;; 74
       ((and boolean (or number marker)) . nil)
       ;; 75
-      ((and atom (or number marker)) . (or marker number))
+      ((and atom (or number marker)) . number-or-marker)
       ;; 76
       ((and symbol (or number marker)) . nil)
       ;; 77
index 4444ab61219842b2b408e1b51c11a926d1449342..2b3c3dd4c759a95c25a6dbd4f782f34c61dda8e9 100644 (file)
@@ -977,7 +977,7 @@ Return a list of results."
          (if (= x y)
              x
            'foo))
-       '(or (member foo) marker number))
+       '(or (member foo) number-or-marker))
 
       ;; 14
       ((defun comp-tests-ret-type-spec-f (x)
@@ -1117,7 +1117,7 @@ Return a list of results."
       ((defun comp-tests-ret-type-spec-f (x)
         (when (> x 1.0)
           x))
-       '(or null marker number))
+       '(or null number-or-marker))
 
       ;; 36
       ((defun comp-tests-ret-type-spec-f (x y)