[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: "The starting list count" ?????
From: |
Stefan Monnier |
Subject: |
Re: "The starting list count" ????? |
Date: |
Mon, 03 Jan 2022 16:15:32 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) |
> Debugger entered--Lisp error: (quit)
> copy-tree((1 . #1) t)
> macroexp-strip-symbol-positions((1 . #1))
> byte-compile-constant((1 . #1))
> byte-compile-quote('(1 . #2))
> byte-compile-form('(1 . #2))
>
>> The #1 means "the second heap object between the root and here" and in
>> (1 . #1) there's only one heap object.
>
> I can cope with "the second heap object", but what is "the root"?
I suspect in the above backtrace, every arglist is passed to print as
is, so the "root" is the arglist.
>> (1 . #1)
>
> Yes. Looking at seq-tests.el, it's clear the original source for it is
>
> (let ((l1 '#1=(1 . #1#))) ....)
Ah, one of those rare cases where the source code includes circular data.
Maybe we should apply the patch below.
Stefan
diff --git a/test/lisp/emacs-lisp/seq-tests.el
b/test/lisp/emacs-lisp/seq-tests.el
index 9e5d59163f9..48ed72a1b06 100644
--- a/test/lisp/emacs-lisp/seq-tests.el
+++ b/test/lisp/emacs-lisp/seq-tests.el
@@ -474,7 +474,8 @@ test-sequences-oddp
(should-error (seq-random-elt "")))
(ert-deftest test-seq-mapn-circular-lists ()
- (let ((l1 '#1=(1 . #1#)))
+ (let ((l1 (list 1)))
+ (setcdr l1 l1)
(should (equal (seq-mapn #'+ '(3 4 5 7) l1)
'(4 5 6 8)))))
- Re: "The starting list count" ?????, (continued)
- Re: "The starting list count" ?????, Stefan Monnier, 2022/01/03
- Re: "The starting list count" ?????, Alan Mackenzie, 2022/01/03
- Re: "The starting list count" ?????, Stefan Monnier, 2022/01/03
- Re: "The starting list count" ?????, Stefan Monnier, 2022/01/03
- Re: "The starting list count" ?????, Alan Mackenzie, 2022/01/03
- Re: "The starting list count" ?????,
Stefan Monnier <=
- Re: "The starting list count" ?????, Alan Mackenzie, 2022/01/03
- Re: "The starting list count" ?????, Stefan Monnier, 2022/01/03
Re: "The starting list count" ?????, Andreas Schwab, 2022/01/03