Received: (at 80598) by debbugs.gnu.org; 14 Mar 2026 11:15:00 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Mar 14 07:15:00 2026 Received: from localhost ([127.0.0.1]:53537 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1w1MxP-00080j-ME for submit <at> debbugs.gnu.org; Sat, 14 Mar 2026 07:15:00 -0400 Received: from mout01.posteo.de ([185.67.36.65]:45689) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <thievol@HIDDEN>) id 1w1MxN-0007ze-8Y for 80598 <at> debbugs.gnu.org; Sat, 14 Mar 2026 07:14:58 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id 9A5D0240027 for <80598 <at> debbugs.gnu.org>; Sat, 14 Mar 2026 12:14:50 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=posteo.net; s=2017; t=1773486890; bh=Yf1kLxNuAFy68EBSAPztpxf+6icAJm4ekfQUmbelr/8=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Content-Type: Autocrypt:OpenPGP:From; b=pl4hAf79F0sq8eiaO+wTIe55k07GqhmzselIzPfmL2FXAgj0ZIadbxStZXEKXwPjd agSihSG5tLWawUbRMEDlh6RCtQpq5qeiLUSozSpFce5vb7rw4ULLsIUNRsTDbG0Iz3 nS/DeOgY4wm/NisEQHyUmqiDSNDiZQCNaJzNv+KeJESThpokit2fPtFDgwTDLiyiHu zJb3e9twyzkuBfzrERMBRPC0vp86bjV7ML6SmxbjlNkhHuwJYGtMcLV/P48h6rP/mg KOftRP4jsPSlTiFkHApYb2ILK4T5lJ4xWmVBGqJq7Td6mW22/mPwPlKModeTzsybHq 71RW07MWvJLXg== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4fXzK51x1dz6trs; Sat, 14 Mar 2026 12:14:49 +0100 (CET) From: Thierry Volpiatto <thievol@HIDDEN> To: Philip Kaludercic <philipk@HIDDEN> Subject: Re: bug#80598: 31.0.50; Should 'ensure-list' return a proper list? In-Reply-To: <87fr62itwb.fsf@HIDDEN> (Philip Kaludercic's message of "Sat, 14 Mar 2026 10:32:05 +0000") References: <87fr65jxqi.fsf@HIDDEN> <86pl59earm.fsf@HIDDEN> <87jyvgersc.fsf@HIDDEN> <868qbwdw08.fsf@HIDDEN> <871phnefrg.fsf@HIDDEN> <86sea2c04j.fsf@HIDDEN> <877brekcna.fsf@HIDDEN> <87sea2yci7.fsf@HIDDEN> <87wlzeivvr.fsf@HIDDEN> <87o6kqyb9e.fsf@HIDDEN> <87fr62itwb.fsf@HIDDEN> Date: Sat, 14 Mar 2026 11:14:50 +0000 Message-ID: <87jyvey861.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain Autocrypt: addr=thievol@HIDDEN; prefer-encrypt=mutual; keydata=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 TgUq5UmBc7YZ0JYWQgPTbQ== OpenPGP: url=https://posteo.de/keys/thievol@HIDDEN; preference=encrypt X-Spam-Score: -0.6 (/) X-Debbugs-Envelope-To: 80598 Cc: Thierry Volpiatto <thievol@HIDDEN>, Eli Zaretskii <eliz@HIDDEN>, 80598 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.6 (-) Philip Kaludercic <philipk@HIDDEN> writes: > Thierry Volpiatto <thievol@HIDDEN> writes: > >> Philip Kaludercic <philipk@HIDDEN> writes: >> >>> Thierry Volpiatto <thievol@HIDDEN> writes: >>> >>>> Philip Kaludercic <philipk@HIDDEN> writes: >>>> >>>>> Eli Zaretskii <eliz@HIDDEN> writes: >>>>> >>>>>>> From: Philip Kaludercic <philipk@HIDDEN> >>>>>>> Cc: 80598 <at> debbugs.gnu.org >>>>>>> Date: Fri, 13 Mar 2026 18:38:44 +0000 >>>>>>> >>>>>>> Eli Zaretskii <eliz@HIDDEN> writes: >>>>>>> >>>>>>> > Well, mistakes are an opportunity to learn something, not necessarily >>>>>>> > a reason to fix existing APIs. And yes, the fact that listp returns >>>>>>> > non-nil for cons cells is something people sometimes forget or maybe >>>>>>> > don't expect, for reasons I personally find surprising. It seems some >>>>>>> > people think that a cons cell and a list are two different data types, >>>>>>> > which they aren't. >>>>>>> >>>>>>> The reason is that most people will think of lists as inductivly defined >>>>>>> datastructures: A list is either nil, or a cons-cell where the cdr is a >>>>>>> list. >>>>>> >>>>>> That's not how this works in Emacs, and the manuals go to great >>>>>> lengths in explaining that. >>>>>> >>>>>> I think these expectations come from other Lispy environments. >>>>> >>>>> I know that isn't the case with Emacs or other Lisps, this is more the >>>>> expectation of a functional programmer in a statically typed setting. >>>>> But I actually just looked it up, and "list?" in Scheme does actually >>>>> check if a list is well formed, but nevermind. >>>>> >>>>> Before I implement and document anything, are you OK with adding an >>>>> optional argument to `ensure-list'? >>>> >>>> While you are at it, you would want to check as well if OBJECT is a >>>> function? >>> >>> I am not sure what you mean, this behavior seems right to me: >>> >>> (ensure-list #'foo) ;=> (foo) >>> >>> What might be confusing to the uninitiated is that double-quoting does >>> nothing: >>> >>> (ensure-list ''foo) ;=> 'foo >> >> I meant with quoted lambdas. > > My understanding is that quoting lambda expressions is not recommended > anyway, They are not recommended indeed but you will have some anyway in some conditions. > so handling that as a special case doesn't sound like something we > should do. But I am open hear different opinions. So I will still use what I use since years (helm-mklist) instead of ensure-list which is unuseful as it is. Thanks, sorry for the noise. -- Thierry
bug-gnu-emacs@HIDDEN:bug#80598; Package emacs.
Full text available.Received: (at 80598) by debbugs.gnu.org; 14 Mar 2026 10:32:16 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Mar 14 06:32:16 2026 Received: from localhost ([127.0.0.1]:53096 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1w1MI3-0001NI-L7 for submit <at> debbugs.gnu.org; Sat, 14 Mar 2026 06:32:16 -0400 Received: from mout02.posteo.de ([185.67.36.66]:48201) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <philipk@HIDDEN>) id 1w1MI0-0001MO-LF for 80598 <at> debbugs.gnu.org; Sat, 14 Mar 2026 06:32:13 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id D5631240101 for <80598 <at> debbugs.gnu.org>; Sat, 14 Mar 2026 11:32:05 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=posteo.net; s=2017; t=1773484325; bh=Dj27WoDLGN4BBhxILEfKJEu7qcDODgLTshqFAXda1jQ=; h=From:To:Cc:Subject:OpenPGP:Date:Message-ID:MIME-Version: Content-Type:From; b=U+gmh5YEuURnZPBM59cS+4HDfi7zCoZt2PKnGj0obe/fLva1e0twCKJs4Hl6CpOgr xIWJ1vhU0Wi9Worl1ndKbjGRVRiW6vAn0yNQ6i4hiANI8OtEbSTmZ+Dj+dRoBwoZWH wbkxJRhlaY/aVfTrohz4kWzbWttBhvrsEHlHAxY2DoLbLXrg5obj56f53XCYuIHRwj hb0SNjj3ssAFhAFi7cKVHA4oX+hhKLzCokdrknKKMyxv2sNCrahUbIAckEwuuPfcYE UWF8PiV6L+Vwb1m7q4Gcb08KcQwk8Tawedq2b/5vw670Ipar7LSwqnABvqN0AOrk12 XKxkbXbg5/kZQ== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4fXyMn0x7Qz6twj; Sat, 14 Mar 2026 11:32:04 +0100 (CET) From: Philip Kaludercic <philipk@HIDDEN> To: Thierry Volpiatto <thievol@HIDDEN> Subject: Re: bug#80598: 31.0.50; Should 'ensure-list' return a proper list? In-Reply-To: <87o6kqyb9e.fsf@HIDDEN> References: <87fr65jxqi.fsf@HIDDEN> <86pl59earm.fsf@HIDDEN> <87jyvgersc.fsf@HIDDEN> <868qbwdw08.fsf@HIDDEN> <871phnefrg.fsf@HIDDEN> <86sea2c04j.fsf@HIDDEN> <877brekcna.fsf@HIDDEN> <87sea2yci7.fsf@HIDDEN> <87wlzeivvr.fsf@HIDDEN> <87o6kqyb9e.fsf@HIDDEN> OpenPGP: id=philipk@HIDDEN; url="https://keys.openpgp.org/vks/v1/by-email/philipk@HIDDEN"; preference=signencrypt Date: Sat, 14 Mar 2026 10:32:05 +0000 Message-ID: <87fr62itwb.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.6 (/) X-Debbugs-Envelope-To: 80598 Cc: Eli Zaretskii <eliz@HIDDEN>, 80598 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.6 (-) Thierry Volpiatto <thievol@HIDDEN> writes: > Philip Kaludercic <philipk@HIDDEN> writes: > >> Thierry Volpiatto <thievol@HIDDEN> writes: >> >>> Philip Kaludercic <philipk@HIDDEN> writes: >>> >>>> Eli Zaretskii <eliz@HIDDEN> writes: >>>> >>>>>> From: Philip Kaludercic <philipk@HIDDEN> >>>>>> Cc: 80598 <at> debbugs.gnu.org >>>>>> Date: Fri, 13 Mar 2026 18:38:44 +0000 >>>>>> >>>>>> Eli Zaretskii <eliz@HIDDEN> writes: >>>>>> >>>>>> > Well, mistakes are an opportunity to learn something, not necessarily >>>>>> > a reason to fix existing APIs. And yes, the fact that listp returns >>>>>> > non-nil for cons cells is something people sometimes forget or maybe >>>>>> > don't expect, for reasons I personally find surprising. It seems some >>>>>> > people think that a cons cell and a list are two different data types, >>>>>> > which they aren't. >>>>>> >>>>>> The reason is that most people will think of lists as inductivly defined >>>>>> datastructures: A list is either nil, or a cons-cell where the cdr is a >>>>>> list. >>>>> >>>>> That's not how this works in Emacs, and the manuals go to great >>>>> lengths in explaining that. >>>>> >>>>> I think these expectations come from other Lispy environments. >>>> >>>> I know that isn't the case with Emacs or other Lisps, this is more the >>>> expectation of a functional programmer in a statically typed setting. >>>> But I actually just looked it up, and "list?" in Scheme does actually >>>> check if a list is well formed, but nevermind. >>>> >>>> Before I implement and document anything, are you OK with adding an >>>> optional argument to `ensure-list'? >>> >>> While you are at it, you would want to check as well if OBJECT is a >>> function? >> >> I am not sure what you mean, this behavior seems right to me: >> >> (ensure-list #'foo) ;=> (foo) >> >> What might be confusing to the uninitiated is that double-quoting does >> nothing: >> >> (ensure-list ''foo) ;=> 'foo > > I meant with quoted lambdas. My understanding is that quoting lambda expressions is not recommended anyway, so handling that as a special case doesn't sound like something we should do. But I am open hear different opinions.
bug-gnu-emacs@HIDDEN:bug#80598; Package emacs.
Full text available.Received: (at 80598) by debbugs.gnu.org; 14 Mar 2026 10:08:18 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Mar 14 06:08:17 2026 Received: from localhost ([127.0.0.1]:52807 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1w1Lup-0005w8-3W for submit <at> debbugs.gnu.org; Sat, 14 Mar 2026 06:08:17 -0400 Received: from mout01.posteo.de ([185.67.36.65]:53673) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <thievol@HIDDEN>) id 1w1Lui-0005tj-Tu for 80598 <at> debbugs.gnu.org; Sat, 14 Mar 2026 06:08:11 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id 0321D240028 for <80598 <at> debbugs.gnu.org>; Sat, 14 Mar 2026 11:08:03 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=posteo.net; s=2017; t=1773482883; bh=qAXlmr6Pt9ChyJKPV9MInPCBb4vF3NF3LwiGJeI/qxw=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Content-Type: Autocrypt:OpenPGP:From; b=IOHOViUskfpZzPptTwFUg9g0L4L72LHVUMs+E/WI40QbM6thea/4IyJzZluV9pouy i4j5zZ447u2kEEedHKYxzWvGHuNvA6h6qDwGPm5fFWAq7KeDNA7/LO6pAI3IKNQy5g mcw3fPxhxyqIocVQPvVTLIT0j0hu6TbLv9AxiKRzEvlp2cZ/yxtbVv5AJd7sI2KC1z jSMEWX0IfS+RuwCC20O6K3eoGHTkGucgvVlUqlVYWj4KQU81oQ5wEyTEry5WFPb8Me ZhDPN6Ta3pfLfbLVJIY+eB9PDMEOTsg2L4bAlVbShUM7+EWszKBMkeRRpVsN6wgQ1v iRqMWxt+/QcEA== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4fXxr11zFHz9rxL; Sat, 14 Mar 2026 11:08:01 +0100 (CET) From: Thierry Volpiatto <thievol@HIDDEN> To: Philip Kaludercic <philipk@HIDDEN> Subject: Re: bug#80598: 31.0.50; Should 'ensure-list' return a proper list? In-Reply-To: <87wlzeivvr.fsf@HIDDEN> (Philip Kaludercic's message of "Sat, 14 Mar 2026 09:49:13 +0000") References: <87fr65jxqi.fsf@HIDDEN> <86pl59earm.fsf@HIDDEN> <87jyvgersc.fsf@HIDDEN> <868qbwdw08.fsf@HIDDEN> <871phnefrg.fsf@HIDDEN> <86sea2c04j.fsf@HIDDEN> <877brekcna.fsf@HIDDEN> <87sea2yci7.fsf@HIDDEN> <87wlzeivvr.fsf@HIDDEN> Date: Sat, 14 Mar 2026 10:08:02 +0000 Message-ID: <87o6kqyb9e.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain Autocrypt: addr=thievol@HIDDEN; prefer-encrypt=mutual; keydata=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 TgUq5UmBc7YZ0JYWQgPTbQ== OpenPGP: url=https://posteo.de/keys/thievol@HIDDEN; preference=encrypt X-Spam-Score: -0.6 (/) X-Debbugs-Envelope-To: 80598 Cc: Thierry Volpiatto <thievol@HIDDEN>, Eli Zaretskii <eliz@HIDDEN>, 80598 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.6 (-) Philip Kaludercic <philipk@HIDDEN> writes: > Thierry Volpiatto <thievol@HIDDEN> writes: > >> Philip Kaludercic <philipk@HIDDEN> writes: >> >>> Eli Zaretskii <eliz@HIDDEN> writes: >>> >>>>> From: Philip Kaludercic <philipk@HIDDEN> >>>>> Cc: 80598 <at> debbugs.gnu.org >>>>> Date: Fri, 13 Mar 2026 18:38:44 +0000 >>>>> >>>>> Eli Zaretskii <eliz@HIDDEN> writes: >>>>> >>>>> > Well, mistakes are an opportunity to learn something, not necessarily >>>>> > a reason to fix existing APIs. And yes, the fact that listp returns >>>>> > non-nil for cons cells is something people sometimes forget or maybe >>>>> > don't expect, for reasons I personally find surprising. It seems some >>>>> > people think that a cons cell and a list are two different data types, >>>>> > which they aren't. >>>>> >>>>> The reason is that most people will think of lists as inductivly defined >>>>> datastructures: A list is either nil, or a cons-cell where the cdr is a >>>>> list. >>>> >>>> That's not how this works in Emacs, and the manuals go to great >>>> lengths in explaining that. >>>> >>>> I think these expectations come from other Lispy environments. >>> >>> I know that isn't the case with Emacs or other Lisps, this is more the >>> expectation of a functional programmer in a statically typed setting. >>> But I actually just looked it up, and "list?" in Scheme does actually >>> check if a list is well formed, but nevermind. >>> >>> Before I implement and document anything, are you OK with adding an >>> optional argument to `ensure-list'? >> >> While you are at it, you would want to check as well if OBJECT is a >> function? > > I am not sure what you mean, this behavior seems right to me: > > (ensure-list #'foo) ;=> (foo) > > What might be confusing to the uninitiated is that double-quoting does > nothing: > > (ensure-list ''foo) ;=> 'foo > > I meant with quoted lambdas. -- Thierry
bug-gnu-emacs@HIDDEN:bug#80598; Package emacs.
Full text available.Received: (at 80598) by debbugs.gnu.org; 14 Mar 2026 09:49:58 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Mar 14 05:49:58 2026 Received: from localhost ([127.0.0.1]:52574 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1w1Ld7-0002vL-IA for submit <at> debbugs.gnu.org; Sat, 14 Mar 2026 05:49:58 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37326) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1w1Ld5-0002uG-IP for 80598 <at> debbugs.gnu.org; Sat, 14 Mar 2026 05:49:56 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1w1Ld0-0004X7-3a; Sat, 14 Mar 2026 05:49:50 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=E16eY1A17KWfdrZILPwn7+0hXz8D1BT8wCZGT3ZzXuo=; b=lOQl3aR5YJ4t v72i2Rn3+UwbrWGe1PwsVAKGZ0VIAwZeob0LvPzjl9g4Vl1dYkj+y2unbUrNIByPnyKMBsKi8k6uG /gsNjNPPNgxKzW3gfOh00IvV79tzWHPRW7DtgmYryXu/CC15bAZmjzFLHDBlOmKwymU5sr0gI+sqP sjcSCeeC4IeJJ3RVkOG6vZuVn011PUjRmxkO4yD879DDlN3AorsZG14OlKLADjmGalqsmPmA3/v8H WaEtN8Q71hraHhVOO1yy53VGm7AhldnavsYTKC/VptAXnCaXKiUtU6IJ1WNAJA2yRM5bsxpmroJKR EH3P6PFhHmPCu+kb1fjmJw==; Date: Sat, 14 Mar 2026 11:49:47 +0200 Message-Id: <86bjgqbv0k.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: Philip Kaludercic <philipk@HIDDEN>, Stefan Monnier <monnier@HIDDEN>, Sean Whitton <spwhitton@HIDDEN> In-Reply-To: <877brekcna.fsf@HIDDEN> (message from Philip Kaludercic on Sat, 14 Mar 2026 09:01:51 +0000) Subject: Re: bug#80598: 31.0.50; Should 'ensure-list' return a proper list? References: <87fr65jxqi.fsf@HIDDEN> <86pl59earm.fsf@HIDDEN> <87jyvgersc.fsf@HIDDEN> <868qbwdw08.fsf@HIDDEN> <871phnefrg.fsf@HIDDEN> <86sea2c04j.fsf@HIDDEN> <877brekcna.fsf@HIDDEN> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 80598 Cc: 80598 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > From: Philip Kaludercic <philipk@HIDDEN> > Cc: 80598 <at> debbugs.gnu.org > Date: Sat, 14 Mar 2026 09:01:51 +0000 > > Eli Zaretskii <eliz@HIDDEN> writes: > > >> From: Philip Kaludercic <philipk@HIDDEN> > >> Cc: 80598 <at> debbugs.gnu.org > >> Date: Fri, 13 Mar 2026 18:38:44 +0000 > >> > >> Eli Zaretskii <eliz@HIDDEN> writes: > >> > >> > Well, mistakes are an opportunity to learn something, not necessarily > >> > a reason to fix existing APIs. And yes, the fact that listp returns > >> > non-nil for cons cells is something people sometimes forget or maybe > >> > don't expect, for reasons I personally find surprising. It seems some > >> > people think that a cons cell and a list are two different data types, > >> > which they aren't. > >> > >> The reason is that most people will think of lists as inductivly defined > >> datastructures: A list is either nil, or a cons-cell where the cdr is a > >> list. > > > > That's not how this works in Emacs, and the manuals go to great > > lengths in explaining that. > > > > I think these expectations come from other Lispy environments. > > I know that isn't the case with Emacs or other Lisps, this is more the > expectation of a functional programmer in a statically typed setting. > But I actually just looked it up, and "list?" in Scheme does actually > check if a list is well formed, but nevermind. > > Before I implement and document anything, are you OK with adding an > optional argument to `ensure-list'? I'm okay with that, but let's hear from others as well (CC'ed).
bug-gnu-emacs@HIDDEN:bug#80598; Package emacs.
Full text available.Received: (at 80598) by debbugs.gnu.org; 14 Mar 2026 09:49:24 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Mar 14 05:49:24 2026 Received: from localhost ([127.0.0.1]:52564 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1w1LcZ-0002qC-Mf for submit <at> debbugs.gnu.org; Sat, 14 Mar 2026 05:49:24 -0400 Received: from mout01.posteo.de ([185.67.36.65]:35943) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <philipk@HIDDEN>) id 1w1LcV-0002oE-9z for 80598 <at> debbugs.gnu.org; Sat, 14 Mar 2026 05:49:21 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id 775A6240029 for <80598 <at> debbugs.gnu.org>; Sat, 14 Mar 2026 10:49:13 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=posteo.net; s=2017; t=1773481753; bh=hXZ8HCYOZnYW6O8qdXRXvjXyetpW5zA1CI90qYw98no=; h=From:To:Cc:Subject:OpenPGP:Date:Message-ID:MIME-Version: Content-Type:From; b=SXYIAa+k9YIKI9Z6oeJuq+Ei6nPri0NMIukiSgAxQVCpC+J+5gyO8G4AFdIXfwzQr DwtWG6ehxnk6mmww/FHThcaA6jSNzwB73v7FD1hNLFRuQ9zR3HKoiL+AtkTiFcibjK wlXakp4Pr0je9+fegxSHXF56z2+VXFLPAae3TBW6ae08GJZJXT3BLCzM02HTlAxBj8 E3p74cWD2DyHCMVW39VsRHfr15CQv/20IK27KzNHta5Wuuby8DS1P2AKDdNscKVjyd tJbFcJJ7DArexjcukqrKcSAbpuTi8QqCJ6182pivY4yaEZRXppVCC5fJtNvFlbT8BB mQvyQPTNeNmmA== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4fXxQJ69b7z6trs; Sat, 14 Mar 2026 10:49:12 +0100 (CET) From: Philip Kaludercic <philipk@HIDDEN> To: Thierry Volpiatto <thievol@HIDDEN> Subject: Re: bug#80598: 31.0.50; Should 'ensure-list' return a proper list? In-Reply-To: <87sea2yci7.fsf@HIDDEN> References: <87fr65jxqi.fsf@HIDDEN> <86pl59earm.fsf@HIDDEN> <87jyvgersc.fsf@HIDDEN> <868qbwdw08.fsf@HIDDEN> <871phnefrg.fsf@HIDDEN> <86sea2c04j.fsf@HIDDEN> <877brekcna.fsf@HIDDEN> <87sea2yci7.fsf@HIDDEN> OpenPGP: id=philipk@HIDDEN; url="https://keys.openpgp.org/vks/v1/by-email/philipk@HIDDEN"; preference=signencrypt Date: Sat, 14 Mar 2026 09:49:13 +0000 Message-ID: <87wlzeivvr.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.6 (/) X-Debbugs-Envelope-To: 80598 Cc: Eli Zaretskii <eliz@HIDDEN>, 80598 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.6 (-) Thierry Volpiatto <thievol@HIDDEN> writes: > Philip Kaludercic <philipk@HIDDEN> writes: > >> Eli Zaretskii <eliz@HIDDEN> writes: >> >>>> From: Philip Kaludercic <philipk@HIDDEN> >>>> Cc: 80598 <at> debbugs.gnu.org >>>> Date: Fri, 13 Mar 2026 18:38:44 +0000 >>>> >>>> Eli Zaretskii <eliz@HIDDEN> writes: >>>> >>>> > Well, mistakes are an opportunity to learn something, not necessarily >>>> > a reason to fix existing APIs. And yes, the fact that listp returns >>>> > non-nil for cons cells is something people sometimes forget or maybe >>>> > don't expect, for reasons I personally find surprising. It seems some >>>> > people think that a cons cell and a list are two different data types, >>>> > which they aren't. >>>> >>>> The reason is that most people will think of lists as inductivly defined >>>> datastructures: A list is either nil, or a cons-cell where the cdr is a >>>> list. >>> >>> That's not how this works in Emacs, and the manuals go to great >>> lengths in explaining that. >>> >>> I think these expectations come from other Lispy environments. >> >> I know that isn't the case with Emacs or other Lisps, this is more the >> expectation of a functional programmer in a statically typed setting. >> But I actually just looked it up, and "list?" in Scheme does actually >> check if a list is well formed, but nevermind. >> >> Before I implement and document anything, are you OK with adding an >> optional argument to `ensure-list'? > > While you are at it, you would want to check as well if OBJECT is a > function? I am not sure what you mean, this behavior seems right to me: (ensure-list #'foo) ;=> (foo) What might be confusing to the uninitiated is that double-quoting does nothing: (ensure-list ''foo) ;=> 'foo
bug-gnu-emacs@HIDDEN:bug#80598; Package emacs.
Full text available.Received: (at 80598) by debbugs.gnu.org; 14 Mar 2026 09:41:20 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Mar 14 05:41:20 2026 Received: from localhost ([127.0.0.1]:52533 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1w1LUk-0007AR-JG for submit <at> debbugs.gnu.org; Sat, 14 Mar 2026 05:41:20 -0400 Received: from mout01.posteo.de ([185.67.36.65]:42113) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <thievol@HIDDEN>) id 1w1LUh-00078g-9t for 80598 <at> debbugs.gnu.org; Sat, 14 Mar 2026 05:41:16 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id 5CEF5240028 for <80598 <at> debbugs.gnu.org>; Sat, 14 Mar 2026 10:41:08 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=posteo.net; s=2017; t=1773481268; bh=yaHmmOD87Bn08SYZ9mGDhpSvrM1AlUM7thQhs0GhPEc=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Content-Type: Autocrypt:OpenPGP:From; b=OlYUPv2u0BUGhrW1M9pDf+nTsbw3DAGv3vtbJMbygFS3MEndEny+oBpOG/3/Ojwea 1OO4An6lEu5MG41ITqIlPrK0Kq8H8gadF2reieZ0xPRmdPQ+PB1WWKqJuQ5S8Cevg1 wwLP6+aPcqyjtsBGkH9f54VA+f3HTRj5r/Og8HXXuHHeG48uxxpQ1mDNcb1KIjvT8n EPZPz84ZsdPk+2aP+DbN/pBDZ+HB12vzXkT1tNa+ZJdvVxuqj75KV1Lkjig1ZnCq8Q jnUp8oJ/jR1pCaPOKlhV08CK1Prz4c3YPsRt/VXUex0WmzF+nFGsDfj9ebS5QsaOj6 bUWN4j6J1c/wg== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4fXxDz1wjkz6tvq; Sat, 14 Mar 2026 10:41:07 +0100 (CET) From: Thierry Volpiatto <thievol@HIDDEN> To: Philip Kaludercic <philipk@HIDDEN> Subject: Re: bug#80598: 31.0.50; Should 'ensure-list' return a proper list? In-Reply-To: <877brekcna.fsf@HIDDEN> (Philip Kaludercic's message of "Sat, 14 Mar 2026 09:01:51 +0000") References: <87fr65jxqi.fsf@HIDDEN> <86pl59earm.fsf@HIDDEN> <87jyvgersc.fsf@HIDDEN> <868qbwdw08.fsf@HIDDEN> <871phnefrg.fsf@HIDDEN> <86sea2c04j.fsf@HIDDEN> <877brekcna.fsf@HIDDEN> Date: Sat, 14 Mar 2026 09:41:08 +0000 Message-ID: <87sea2yci7.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain Autocrypt: addr=thievol@HIDDEN; prefer-encrypt=mutual; keydata=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 TgUq5UmBc7YZ0JYWQgPTbQ== OpenPGP: url=https://posteo.de/keys/thievol@HIDDEN; preference=encrypt X-Spam-Score: -0.6 (/) X-Debbugs-Envelope-To: 80598 Cc: Eli Zaretskii <eliz@HIDDEN>, 80598 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.6 (-) Philip Kaludercic <philipk@HIDDEN> writes: > Eli Zaretskii <eliz@HIDDEN> writes: > >>> From: Philip Kaludercic <philipk@HIDDEN> >>> Cc: 80598 <at> debbugs.gnu.org >>> Date: Fri, 13 Mar 2026 18:38:44 +0000 >>> >>> Eli Zaretskii <eliz@HIDDEN> writes: >>> >>> > Well, mistakes are an opportunity to learn something, not necessarily >>> > a reason to fix existing APIs. And yes, the fact that listp returns >>> > non-nil for cons cells is something people sometimes forget or maybe >>> > don't expect, for reasons I personally find surprising. It seems some >>> > people think that a cons cell and a list are two different data types, >>> > which they aren't. >>> >>> The reason is that most people will think of lists as inductivly defined >>> datastructures: A list is either nil, or a cons-cell where the cdr is a >>> list. >> >> That's not how this works in Emacs, and the manuals go to great >> lengths in explaining that. >> >> I think these expectations come from other Lispy environments. > > I know that isn't the case with Emacs or other Lisps, this is more the > expectation of a functional programmer in a statically typed setting. > But I actually just looked it up, and "list?" in Scheme does actually > check if a list is well formed, but nevermind. > > Before I implement and document anything, are you OK with adding an > optional argument to `ensure-list'? While you are at it, you would want to check as well if OBJECT is a function? -- Thierry
bug-gnu-emacs@HIDDEN:bug#80598; Package emacs.
Full text available.Received: (at 80598) by debbugs.gnu.org; 14 Mar 2026 09:02:00 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Mar 14 05:02:00 2026 Received: from localhost ([127.0.0.1]:52198 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1w1Ksh-0000fn-RI for submit <at> debbugs.gnu.org; Sat, 14 Mar 2026 05:02:00 -0400 Received: from mout01.posteo.de ([185.67.36.65]:48801) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <philipk@HIDDEN>) id 1w1Ksf-0000eg-SR for 80598 <at> debbugs.gnu.org; Sat, 14 Mar 2026 05:01:58 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id B5C5C240027 for <80598 <at> debbugs.gnu.org>; Sat, 14 Mar 2026 10:01:51 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=posteo.net; s=2017; t=1773478911; bh=XAORX2TuXBGA/yW7jWi530jE2ADsfR0MVjy1OnIaoi0=; h=From:To:Cc:Subject:OpenPGP:Date:Message-ID:MIME-Version: Content-Type:From; b=lDs+PeeJ7vFbG83/Tn62UrmKxSxU6tclmkcRmPx2d352znpHx3B+v/LKPbz+PMLCu CvvfVqBCQ+aGCyPJgwIzNxEtgKF7HDLLG3MnU9G+x7pm9UvR+6OOPKqjb90+IBZLIr QLa5/nyDPAPWpMdMC5HRFlhwPjTFvzEstt/rfmJIoaR/+x3MlzUIR3TRtXSDfaTOs/ FhbUXpA9UTgNTMxUX/okhD7UieuvOzY3SzpsTc94o6Fabfcm4d05sl4rYEFVmStnJS XmQWeIW1WJ7oxegmjIgjH65pcx0COvtglRq1GX39A5CQeHd0LiI9NbZQ91kqw60sZD Spr34lpgcGj7w== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4fXwMf6YpHz9rxK; Sat, 14 Mar 2026 10:01:50 +0100 (CET) From: Philip Kaludercic <philipk@HIDDEN> To: Eli Zaretskii <eliz@HIDDEN> Subject: Re: bug#80598: 31.0.50; Should 'ensure-list' return a proper list? In-Reply-To: <86sea2c04j.fsf@HIDDEN> References: <87fr65jxqi.fsf@HIDDEN> <86pl59earm.fsf@HIDDEN> <87jyvgersc.fsf@HIDDEN> <868qbwdw08.fsf@HIDDEN> <871phnefrg.fsf@HIDDEN> <86sea2c04j.fsf@HIDDEN> OpenPGP: id=philipk@HIDDEN; url="https://keys.openpgp.org/vks/v1/by-email/philipk@HIDDEN"; preference=signencrypt Date: Sat, 14 Mar 2026 09:01:51 +0000 Message-ID: <877brekcna.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.6 (/) X-Debbugs-Envelope-To: 80598 Cc: 80598 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.6 (-) Eli Zaretskii <eliz@HIDDEN> writes: >> From: Philip Kaludercic <philipk@HIDDEN> >> Cc: 80598 <at> debbugs.gnu.org >> Date: Fri, 13 Mar 2026 18:38:44 +0000 >> >> Eli Zaretskii <eliz@HIDDEN> writes: >> >> > Well, mistakes are an opportunity to learn something, not necessarily >> > a reason to fix existing APIs. And yes, the fact that listp returns >> > non-nil for cons cells is something people sometimes forget or maybe >> > don't expect, for reasons I personally find surprising. It seems some >> > people think that a cons cell and a list are two different data types, >> > which they aren't. >> >> The reason is that most people will think of lists as inductivly defined >> datastructures: A list is either nil, or a cons-cell where the cdr is a >> list. > > That's not how this works in Emacs, and the manuals go to great > lengths in explaining that. > > I think these expectations come from other Lispy environments. I know that isn't the case with Emacs or other Lisps, this is more the expectation of a functional programmer in a statically typed setting. But I actually just looked it up, and "list?" in Scheme does actually check if a list is well formed, but nevermind. Before I implement and document anything, are you OK with adding an optional argument to `ensure-list'?
bug-gnu-emacs@HIDDEN:bug#80598; Package emacs.
Full text available.Received: (at 80598) by debbugs.gnu.org; 14 Mar 2026 07:59:46 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Mar 14 03:59:45 2026 Received: from localhost ([127.0.0.1]:51799 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1w1JuQ-0007QK-OJ for submit <at> debbugs.gnu.org; Sat, 14 Mar 2026 03:59:45 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45706) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1w1JuL-0007PG-HJ for 80598 <at> debbugs.gnu.org; Sat, 14 Mar 2026 03:59:39 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1w1JuF-0007Tc-AS; Sat, 14 Mar 2026 03:59:31 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=mr4/QIk+Wbt0LAmMmGt+0TysgUvt3i9jwMrYqkzGWZI=; b=Sinr2WTmmc97 crQakEB/y/DIKrY9CIYcMYK/Hiji6RCaKvLUvmW28HHsnr4gOqCHNRMf2oXk88LXq0zN/mWmWR25x KJubhcuwkewcIaHLmXELynsPwIQZ4+5JRIAQ7cuvkAwcmd6GbFFNu2bdt/A+vrzWVjW0b5RYDsP8j q79LgSwihJcJdrgdZwAf/B5t29ujaBXYhJErVXmnaSYX9RbxJ9QpssQHLDBfRTLR3zO+9d/31yADK rW7s8G07filhjnxZeWS18dZU4Zsf8AxoN2O+zjUKDA9oQK+CXbEYAqqyzLJ3RmOC2ZAVDdDZY2saS WWMeLHHg1X+lcFocP/uizw==; Date: Sat, 14 Mar 2026 09:59:24 +0200 Message-Id: <86sea2c04j.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: Philip Kaludercic <philipk@HIDDEN> In-Reply-To: <871phnefrg.fsf@HIDDEN> (message from Philip Kaludercic on Fri, 13 Mar 2026 18:38:44 +0000) Subject: Re: bug#80598: 31.0.50; Should 'ensure-list' return a proper list? References: <87fr65jxqi.fsf@HIDDEN> <86pl59earm.fsf@HIDDEN> <87jyvgersc.fsf@HIDDEN> <868qbwdw08.fsf@HIDDEN> <871phnefrg.fsf@HIDDEN> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 80598 Cc: 80598 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > From: Philip Kaludercic <philipk@HIDDEN> > Cc: 80598 <at> debbugs.gnu.org > Date: Fri, 13 Mar 2026 18:38:44 +0000 > > Eli Zaretskii <eliz@HIDDEN> writes: > > > Well, mistakes are an opportunity to learn something, not necessarily > > a reason to fix existing APIs. And yes, the fact that listp returns > > non-nil for cons cells is something people sometimes forget or maybe > > don't expect, for reasons I personally find surprising. It seems some > > people think that a cons cell and a list are two different data types, > > which they aren't. > > The reason is that most people will think of lists as inductivly defined > datastructures: A list is either nil, or a cons-cell where the cdr is a > list. That's not how this works in Emacs, and the manuals go to great lengths in explaining that. I think these expectations come from other Lispy environments.
bug-gnu-emacs@HIDDEN:bug#80598; Package emacs.
Full text available.Received: (at 80598) by debbugs.gnu.org; 13 Mar 2026 18:38:59 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Mar 13 14:38:58 2026 Received: from localhost ([127.0.0.1]:47353 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1w17PU-0007rt-Lq for submit <at> debbugs.gnu.org; Fri, 13 Mar 2026 14:38:58 -0400 Received: from mout02.posteo.de ([185.67.36.66]:34005) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <philipk@HIDDEN>) id 1w17PP-0007qE-Ps for 80598 <at> debbugs.gnu.org; Fri, 13 Mar 2026 14:38:55 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id 5BF7D240101 for <80598 <at> debbugs.gnu.org>; Fri, 13 Mar 2026 19:38:44 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=posteo.net; s=2017; t=1773427124; bh=yHXIVxdKksuOxgeiv6L6yo/6eVCXj8GQ7Yz52AWMFL4=; h=From:To:Cc:Subject:OpenPGP:Date:Message-ID:MIME-Version: Content-Type:From; b=J+Ad9ySoLS1XLZU1VA1xk8xlqaO+P3zQFm8NArrNKAAsZPTo+esbxGyrSu6Ek5kza 6VpXZtgbAqcLVFN5gYWidUNdU00Gig/bEdEbKmhc5BY/g25Zz2Ah+GGA8qeb0TXwlS ke/W2fMmONoSuEW/9kMJQ559s+kOyOZo9D8jDRCuhJMT6IqIdKWWTp6XifkK6pZQ3S ULBj3wh7O8Uz7nCSa3cnV5ZoSfWWuSzsfWthsbpCpuyTzXR3EalKZbWMsOi6cKM1pn GaMMrRvHq5V9bSFxzKccKk4S+C9Z2bn+oVSYCxyUs437YjMjNqOdGdMofea0ZW1fCJ KGFjC7SNXjR/A== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4fXYCl5DjTz6tvq; Fri, 13 Mar 2026 19:38:43 +0100 (CET) From: Philip Kaludercic <philipk@HIDDEN> To: Eli Zaretskii <eliz@HIDDEN> Subject: Re: bug#80598: 31.0.50; Should 'ensure-list' return a proper list? In-Reply-To: <868qbwdw08.fsf@HIDDEN> References: <87fr65jxqi.fsf@HIDDEN> <86pl59earm.fsf@HIDDEN> <87jyvgersc.fsf@HIDDEN> <868qbwdw08.fsf@HIDDEN> OpenPGP: id=philipk@HIDDEN; url="https://keys.openpgp.org/vks/v1/by-email/philipk@HIDDEN"; preference=signencrypt Date: Fri, 13 Mar 2026 18:38:44 +0000 Message-ID: <871phnefrg.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.6 (/) X-Debbugs-Envelope-To: 80598 Cc: 80598 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.6 (-) Eli Zaretskii <eliz@HIDDEN> writes: >> From: Philip Kaludercic <philipk@HIDDEN> >> Cc: 80598 <at> debbugs.gnu.org >> Date: Thu, 12 Mar 2026 20:06:44 +0000 >> >> Eli Zaretskii <eliz@HIDDEN> writes: >> >> >> From: Philip Kaludercic <philipk@HIDDEN> >> >> Date: Thu, 12 Mar 2026 07:47:02 +0000 >> >> >> >> >> >> I was surprised to realize that >> >> >> >> (ensure-list '(a . b)) ;=> (a . b) >> >> >> >> Would it make more sense to check if the argument satisfies >> >> `proper-list-p', and return ((a . b)) instead? >> > >> > That'd be a breaking change, no? >> >> If we were to change proper-list-p, then yes, but that is not the only >> option. Clarifying that are not talking about proper lists in the >> docstring might be a compromise position, and/or adding a >> ensure-proper-list function. > > Existing code could rely on ensure-list returning cons cells > unchanged. Adding a new function or adding a new optional argument to > ensure-list is okay, but changing what ensure-list does > unconditionally is not, IMO. I think that adding an optional PROPER-LIST argument would be a nice solution. >> > Why wasn't '(a . b) good enough in your case? >> >> I tripped over this in `package-maintainers', where I the :maintainer >> field of a package description is either a cons-cell (NAME . EMAIL) or a >> list of these entries. I wanted to use `ensure-list' to normalize this, >> but it didn't do what I wanted. Of course one can work around it, but I >> am assuming I am not the only person who will ever make this mistake. > > Well, mistakes are an opportunity to learn something, not necessarily > a reason to fix existing APIs. And yes, the fact that listp returns > non-nil for cons cells is something people sometimes forget or maybe > don't expect, for reasons I personally find surprising. It seems some > people think that a cons cell and a list are two different data types, > which they aren't. The reason is that most people will think of lists as inductivly defined datastructures: A list is either nil, or a cons-cell where the cdr is a list. I don't think that there is an inherent reason why listp checking only for cons or nil is the correct implementation. It approximates proper lists for performance reasons, but it could have also actually tried to determine if a list is well-formed.
bug-gnu-emacs@HIDDEN:bug#80598; Package emacs.
Full text available.Received: (at 80598) by debbugs.gnu.org; 13 Mar 2026 07:33:32 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Mar 13 03:33:31 2026 Received: from localhost ([127.0.0.1]:43357 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1w0x1U-0006kc-EE for submit <at> debbugs.gnu.org; Fri, 13 Mar 2026 03:33:31 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:34442) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1w0x1R-0006jD-1S for 80598 <at> debbugs.gnu.org; Fri, 13 Mar 2026 03:33:26 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1w0x1L-0002GZ-1V; Fri, 13 Mar 2026 03:33:19 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=RLwKPHkO+qAvasvy0/50AR8GEUQ+fg8YuSjTFWVNX+g=; b=Uws56nglllXV 5OFIu5tA+PxlxE/G+XvN4xcPzL3Bu4GJfBjMcOWemGcM2x10e9F5cGVebuLcai2ax1vLTvMnDqKAb 1aOGJMSE4fORXThpdFKeTrAC1eQDjwORTCu+brB+ic9vgC8XTdQ/yt5DbS7d+nEANmnnhb3fs3zDc NgaBE99lstUagoDPmtv8UPzjxtCDIRVktNFGnx0TPYlEPw8+ZzUbqwnAmWYQrSb2buYdOhiZOpdIB WiTx1h7+/D8jf81fpO+q6GlNc0r2h1kurjMyOyQB/n51k70blr+AWXOETzEat0Gw0dANV2a47sScf MD2dgjibYDdJb/Vi1747YQ==; Date: Fri, 13 Mar 2026 09:33:11 +0200 Message-Id: <868qbwdw08.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: Philip Kaludercic <philipk@HIDDEN> In-Reply-To: <87jyvgersc.fsf@HIDDEN> (message from Philip Kaludercic on Thu, 12 Mar 2026 20:06:44 +0000) Subject: Re: bug#80598: 31.0.50; Should 'ensure-list' return a proper list? References: <87fr65jxqi.fsf@HIDDEN> <86pl59earm.fsf@HIDDEN> <87jyvgersc.fsf@HIDDEN> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 80598 Cc: 80598 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > From: Philip Kaludercic <philipk@HIDDEN> > Cc: 80598 <at> debbugs.gnu.org > Date: Thu, 12 Mar 2026 20:06:44 +0000 > > Eli Zaretskii <eliz@HIDDEN> writes: > > >> From: Philip Kaludercic <philipk@HIDDEN> > >> Date: Thu, 12 Mar 2026 07:47:02 +0000 > >> > >> > >> I was surprised to realize that > >> > >> (ensure-list '(a . b)) ;=> (a . b) > >> > >> Would it make more sense to check if the argument satisfies > >> `proper-list-p', and return ((a . b)) instead? > > > > That'd be a breaking change, no? > > If we were to change proper-list-p, then yes, but that is not the only > option. Clarifying that are not talking about proper lists in the > docstring might be a compromise position, and/or adding a > ensure-proper-list function. Existing code could rely on ensure-list returning cons cells unchanged. Adding a new function or adding a new optional argument to ensure-list is okay, but changing what ensure-list does unconditionally is not, IMO. > > Why wasn't '(a . b) good enough in your case? > > I tripped over this in `package-maintainers', where I the :maintainer > field of a package description is either a cons-cell (NAME . EMAIL) or a > list of these entries. I wanted to use `ensure-list' to normalize this, > but it didn't do what I wanted. Of course one can work around it, but I > am assuming I am not the only person who will ever make this mistake. Well, mistakes are an opportunity to learn something, not necessarily a reason to fix existing APIs. And yes, the fact that listp returns non-nil for cons cells is something people sometimes forget or maybe don't expect, for reasons I personally find surprising. It seems some people think that a cons cell and a list are two different data types, which they aren't.
bug-gnu-emacs@HIDDEN:bug#80598; Package emacs.
Full text available.Received: (at 80598) by debbugs.gnu.org; 12 Mar 2026 20:06:58 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Mar 12 16:06:57 2026 Received: from localhost ([127.0.0.1]:38864 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1w0mJ6-0002FY-Py for submit <at> debbugs.gnu.org; Thu, 12 Mar 2026 16:06:57 -0400 Received: from mout01.posteo.de ([185.67.36.65]:57415) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <philipk@HIDDEN>) id 1w0mJ2-0002E2-CT for 80598 <at> debbugs.gnu.org; Thu, 12 Mar 2026 16:06:54 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id 5A630240027 for <80598 <at> debbugs.gnu.org>; Thu, 12 Mar 2026 21:06:45 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=posteo.net; s=2017; t=1773346005; bh=lgf3ohSb4FxILyD1gfM05DXZs4Gon6jdWr+JdmpXAB0=; h=From:To:Cc:Subject:OpenPGP:Date:Message-ID:MIME-Version: Content-Type:From; b=GAgt+8EzCAfP33eOOmbhMCXyxpd9sAtrkswMN3IivvnRX5AzFjEiMt6kxP950THfQ ONYejtxxpFIFLoDr+R5PPBSNGFBwbjFitY9XasVscaU7rjgP/SjU0gYUN9fdy6eY9Z JWPzuzi7icoXmMGhaN3R8GyfsooMDXe58T1OMXJ6gDUExGeNewHqn9axD5Ghhip9ZG 5xnJSyW0e7IbfLx+WFh8BEgALirU3IWc4E6gyYAu1iMnIDS7tQ90aa1JeERKExmLcR xwMD+12+dZJ6stO4G8MYJzTqCG59iz6edfhhY/AzvgTF4KxJOxlchsrdcJwyjRUZFN SuO2VBv1S2EDQ== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4fWzCm2dgxz6tsb; Thu, 12 Mar 2026 21:06:44 +0100 (CET) From: Philip Kaludercic <philipk@HIDDEN> To: Eli Zaretskii <eliz@HIDDEN> Subject: Re: bug#80598: 31.0.50; Should 'ensure-list' return a proper list? In-Reply-To: <86pl59earm.fsf@HIDDEN> References: <87fr65jxqi.fsf@HIDDEN> <86pl59earm.fsf@HIDDEN> OpenPGP: id=philipk@HIDDEN; url="https://keys.openpgp.org/vks/v1/by-email/philipk@HIDDEN"; preference=signencrypt Date: Thu, 12 Mar 2026 20:06:44 +0000 Message-ID: <87jyvgersc.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.6 (/) X-Debbugs-Envelope-To: 80598 Cc: 80598 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.6 (-) Eli Zaretskii <eliz@HIDDEN> writes: >> From: Philip Kaludercic <philipk@HIDDEN> >> Date: Thu, 12 Mar 2026 07:47:02 +0000 >> >> >> I was surprised to realize that >> >> (ensure-list '(a . b)) ;=> (a . b) >> >> Would it make more sense to check if the argument satisfies >> `proper-list-p', and return ((a . b)) instead? > > That'd be a breaking change, no? If we were to change proper-list-p, then yes, but that is not the only option. Clarifying that are not talking about proper lists in the docstring might be a compromise position, and/or adding a ensure-proper-list function. > Why wasn't '(a . b) good enough in your case? I tripped over this in `package-maintainers', where I the :maintainer field of a package description is either a cons-cell (NAME . EMAIL) or a list of these entries. I wanted to use `ensure-list' to normalize this, but it didn't do what I wanted. Of course one can work around it, but I am assuming I am not the only person who will ever make this mistake. Sean Whitton <spwhitton@HIDDEN> writes: > Philip Kaludercic [12/Mar 7:47am GMT] wrote: >> I was surprised to realize that >> >> (ensure-list '(a . b)) ;=> (a . b) >> >> Would it make more sense to check if the argument satisfies >> `proper-list-p', and return ((a . b)) instead? > > Having it the way it is ensures that it will be constant time. > > A theoretical ensure-proper-list is linear time. No disagreement here.
bug-gnu-emacs@HIDDEN:bug#80598; Package emacs.
Full text available.Received: (at 80598) by debbugs.gnu.org; 12 Mar 2026 09:35:55 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Mar 12 05:35:54 2026 Received: from localhost ([127.0.0.1]:33205 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1w0cSP-0006cW-Ek for submit <at> debbugs.gnu.org; Thu, 12 Mar 2026 05:35:54 -0400 Received: from sendmail.purelymail.com ([34.202.193.197]:51386) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <spwhitton@HIDDEN>) id 1w0cSL-0006aJ-3c for 80598 <at> debbugs.gnu.org; Thu, 12 Mar 2026 05:35:50 -0400 DKIM-Signature: a=rsa-sha256; b=RaMoucFQes3Z1R9nXES6tVcHxvSXXRKHOExivblkh3SyLpRtz4n9f73ExFMxTkdV/Qc9dPj3jRKAK0ES+qqCyycv7mGn96sj8VK6W8CK16HnRrCry1U3SOuFR38Com6pBnAIZizqMRQLCl6BHBaMC5UjB0N9pXcEgpvztBZF6FjQas5WoyqzNB/5eYymrevM5cm9AHRuUG0ibA+/LPc78I2oXxZGBnpcK1j90faQ1bWV+l5B9hyXwFbMb+TrlretSEuRQqdX1vuUpF6BtYuPvT3spBW7c4yBml4im93p1XopSIg1uIZwB7fknyaY0jscwqWlCu1JsYMOieynIsKgWw==; s=purelymail2; d=spwhitton.name; v=1; bh=pjC73VV4YN2OAKUcpCSF8ZYBrH4tDw0YNHUqPOaT8cU=; h=Received:Received:From:To:Subject:Date; DKIM-Signature: a=rsa-sha256; b=obH06Djhx1JWovfz31YlkZb/BgBiUIneb9riHW/txrWNS+bYfTu8kBuTJsti/sdSduPSJs0y24oBue8fwIL+s3qt23rTc7RlN+iArQRSgjmFi+jjPQ8RK3OKSsynA9deDeYjNz4wOXlD40l+l0qii71jtCODsBeuE9g+KZe+PqS1WXQH4fHvVv+YkHzR2KgchT9QEnZd0bqy7JmlLlfasZvySIG68R+gs1v09XUpXwpcPFQQ/pDaeULB6fdHiEBt7UJKPgiKyr/y+sgABhMryGWYW0EwQicWF79DKlh8i8wB+Tf+iTR2dV7VviI8JR3XBCDzW9gPTbtQRdKMCFqMeg==; s=purelymail2; d=purelymail.com; v=1; bh=pjC73VV4YN2OAKUcpCSF8ZYBrH4tDw0YNHUqPOaT8cU=; h=Feedback-ID:Received:Received:From:To:Subject:Date; Feedback-ID: 20115:3760:null:purelymail X-Pm-Original-To: 80598 <at> debbugs.gnu.org Received: by smtp.purelymail.com (Purelymail SMTP) with ESMTPSA id 1568932311; (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384); Thu, 12 Mar 2026 09:35:41 +0000 (UTC) Received: by melete.silentflame.com (Postfix, from userid 1000) id 65CDC7E03FF; Thu, 12 Mar 2026 09:35:39 +0000 (GMT) From: Sean Whitton <spwhitton@HIDDEN> To: Philip Kaludercic <philipk@HIDDEN>, 80598 <at> debbugs.gnu.org Subject: Re: bug#80598: 31.0.50; Should 'ensure-list' return a proper list? In-Reply-To: <87fr65jxqi.fsf@HIDDEN> References: <87fr65jxqi.fsf@HIDDEN> Date: Thu, 12 Mar 2026 09:35:39 +0000 Message-ID: <87a4wdmluc.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 1.7 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Philip Kaludercic [12/Mar 7:47am GMT] wrote: > I was surprised to realize that > > (ensure-list '(a . b)) ;=> (a . b) > > Would it make more sense to check if the argument satisfies > `proper-list-p', [...] Content analysis details: (1.7 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.9 RCVD_IN_VALIDITY_SAFE_BLOCKED RBL: ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. [34.202.193.197 listed in sa-trusted.bondedsender.org] 0.8 RCVD_IN_VALIDITY_RPBL_BLOCKED RBL: ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. [34.202.193.197 listed in bl.score.senderscore.com] -0.0 SPF_PASS SPF: sender matches SPF record -0.0 SPF_HELO_PASS SPF: HELO matches SPF record X-Debbugs-Envelope-To: 80598 X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: 0.7 (/) Philip Kaludercic [12/Mar 7:47am GMT] wrote: > I was surprised to realize that > > (ensure-list '(a . b)) ;=> (a . b) > > Would it make more sense to check if the argument satisfies > `proper-list-p', and return ((a . b)) instead? Having it the way it is ensures that it will be constant time. A theoretical ensure-proper-list is linear time. -- Sean Whitton
bug-gnu-emacs@HIDDEN:bug#80598; Package emacs.
Full text available.Received: (at 80598) by debbugs.gnu.org; 12 Mar 2026 08:03:24 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Mar 12 04:03:24 2026 Received: from localhost ([127.0.0.1]:60881 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1w0b0t-0000C6-Ow for submit <at> debbugs.gnu.org; Thu, 12 Mar 2026 04:03:24 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:43108) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1w0b0k-00009n-Ta for 80598 <at> debbugs.gnu.org; Thu, 12 Mar 2026 04:03:16 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1w0b0f-000335-Iz; Thu, 12 Mar 2026 04:03:09 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=nct+do9ACzEC2bi+P2DeoZKceQOdX73Z6R2+FCU6Ir8=; b=rYWHaLde2IxX gwUP0CQ30IWSrKYnANk93h/OzAUb78fWcj5GEhPKa1N9EfyWynMPB9FHrkCOZdaN17KEHCCk/Flnv /oC1iiizkh5k4yMWiqThoiRPnes6D4IS3mWyoKrFzIug3bPt65/DRscgT5erNQBPjp7XTXExRPasV 53pKtFj05lnBkIWYqmeJYdBaRkzhR5PhG67yBZuUXmriqI+74lRpTvz8MohwIvzm8v8LEH8WFghfW zxtK2YBFgAqBbAlhQK61dRzSwUEGIVG10A4gusUghI6d0E6K9rbre/B+6bL50pE/6mvh23AYP3RL2 kAVGKWlzAgLvuXwOY9/TdA==; Date: Thu, 12 Mar 2026 10:02:05 +0200 Message-Id: <86pl59earm.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: Philip Kaludercic <philipk@HIDDEN> In-Reply-To: <87fr65jxqi.fsf@HIDDEN> (message from Philip Kaludercic on Thu, 12 Mar 2026 07:47:02 +0000) Subject: Re: bug#80598: 31.0.50; Should 'ensure-list' return a proper list? References: <87fr65jxqi.fsf@HIDDEN> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 80598 Cc: 80598 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > From: Philip Kaludercic <philipk@HIDDEN> > Date: Thu, 12 Mar 2026 07:47:02 +0000 > > > I was surprised to realize that > > (ensure-list '(a . b)) ;=> (a . b) > > Would it make more sense to check if the argument satisfies > `proper-list-p', and return ((a . b)) instead? That'd be a breaking change, no? Why wasn't '(a . b) good enough in your case?
bug-gnu-emacs@HIDDEN:bug#80598; Package emacs.
Full text available.Received: (at submit) by debbugs.gnu.org; 12 Mar 2026 07:47:18 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Mar 12 03:47:17 2026 Received: from localhost ([127.0.0.1]:60742 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1w0alI-00068t-NJ for submit <at> debbugs.gnu.org; Thu, 12 Mar 2026 03:47:17 -0400 Received: from lists.gnu.org ([2001:470:142::17]:57228) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <philipk@HIDDEN>) id 1w0alF-00067s-Pm for submit <at> debbugs.gnu.org; Thu, 12 Mar 2026 03:47:14 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <philipk@HIDDEN>) id 1w0alA-00070d-69 for bug-gnu-emacs@HIDDEN; Thu, 12 Mar 2026 03:47:08 -0400 Received: from mout01.posteo.de ([185.67.36.65]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <philipk@HIDDEN>) id 1w0al7-0007R2-M0 for bug-gnu-emacs@HIDDEN; Thu, 12 Mar 2026 03:47:07 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id CDCF1240027 for <bug-gnu-emacs@HIDDEN>; Thu, 12 Mar 2026 08:47:02 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=posteo.net; s=2017; t=1773301622; bh=oA5vZer0aORZ3m+54ETUO6ZXLe2lIfE6nmD6Tczebys=; h=From:To:Subject:OpenPGP:Date:Message-ID:MIME-Version:Content-Type: From; b=Nyyvq5GNuoOEBFOezrzC15bbUeN7oIYfTTCMekpMoCwvKmSFDerlg90hbrQ9lzNRQ TaUIOj3B9oSCpgzzkvum9WjGq0HV47o0IE/cp/mGn9wHS6Njx9mNWhTwerBfr+YXQv cVTFgwE4pF/SFedgRujX0/H3mnYufP5s3QcCQU8n8IQjLfJ6B3M50Ri+JPgBj2FlLi 5hN10g/lQuMROjK2Tm/HQDu1lPrb+fEP7gFCTZm1Fgytw/o+7NMy9H2PPV/5Lu0L06 CyAknzxwNU5EPdjor/nb4LH0gtgJhZnuN13xgWvkCoAaiWBNthXJ8kE7r8gUrHnn16 iE0G8aNiPb40g== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4fWfpG2XPBz6tvy for <bug-gnu-emacs@HIDDEN>; Thu, 12 Mar 2026 08:47:02 +0100 (CET) From: Philip Kaludercic <philipk@HIDDEN> To: bug-gnu-emacs@HIDDEN Subject: 31.0.50; Should 'ensure-list' return a proper list? X-Debbugs-Cc: OpenPGP: id=philipk@HIDDEN; url="https://keys.openpgp.org/vks/v1/by-email/philipk@HIDDEN"; preference=signencrypt Date: Thu, 12 Mar 2026 07:47:02 +0000 Message-ID: <87fr65jxqi.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=185.67.36.65; envelope-from=philipk@HIDDEN; helo=mout01.posteo.de X-Spam_score_int: -16 X-Spam_score: -1.7 X-Spam_bar: - X-Spam_report: (-1.7 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, LONGWORDS=1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H2=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.819, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.903, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-Spam-Score: 2.0 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: I was surprised to realize that (ensure-list '(a . b)) ;=> (a . b) Would it make more sense to check if the argument satisfies `proper-list-p', and return ((a . b)) instead? Content analysis details: (2.0 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 SPF_HELO_PASS SPF: HELO matches SPF record 1.0 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [2001:470:142:0:0:0:0:17 listed in] [list.dnswl.org] 1.0 LONGWORDS Long string of long words X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: 1.0 (+) I was surprised to realize that (ensure-list '(a . b)) ;=> (a . b) Would it make more sense to check if the argument satisfies `proper-list-p', and return ((a . b)) instead? In GNU Emacs 31.0.50 (build 4, x86_64-pc-linux-gnu, GTK+ Version 3.24.49, cairo version 1.18.4) of 2026-03-10 built on siskin Repository revision: 41746d5fb2f9979b533cf774cbd967ff39cc8672 Repository branch: master System Description: Debian GNU/Linux 13 (trixie) Configured using: 'configure --with-pgtk' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG LCMS2 LIBOTF LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PGTK PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP XIM GTK3 ZLIB Important settings: value of $LC_MONETARY: en_GB.UTF-8 value of $LC_NUMERIC: en_GB.UTF-8 value of $LC_TIME: en_GB.UTF-8 value of $LANG: en_US.UTF-8 value of $XMODIFIERS: @im=ibus locale-coding-system: utf-8-unix Major mode: Elisp/l Minor modes in effect: which-key-mode: t delete-selection-mode: t newcomers-presets-mode: t TeX-PDF-mode: t etags-regen-mode: t auto-revert-mode: t bug-reference-prog-mode: t outline-minor-mode: t flyspell-mode: t flymake-mode: t repeat-mode: t display-battery-mode: t display-time-mode: t override-global-mode: t winner-mode: t windmove-mode: t corfu-history-mode: t corfu-mode: t editorconfig-mode: t electric-pair-mode: t recentf-mode: t save-place-mode: t savehist-mode: t pixel-scroll-precision-mode: t pixel-scroll-mode: t package-autosuggest-mode: t tooltip-mode: t global-eldoc-mode: t eldoc-mode: t show-paren-mode: t electric-indent-mode: t vc-auto-revert-mode: t mouse-wheel-mode: t tab-bar-history-mode: t tab-bar-mode: t file-name-shadow-mode: t context-menu-mode: t global-font-lock-mode: t font-lock-mode: t minibuffer-nonselected-mode: t minibuffer-regexp-mode: t line-number-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: /home/phi/.config/emacs/user-lisp/0x0/0x0 hides /home/phi/.config/emacs/user-lisp/0x0 /home/phi/.config/emacs/user-lisp/shell-command+/shell-command+ hides /home/phi/.config/emacs/elpa/shell-command+/shell-command+ /home/phi/.config/emacs/user-lisp/shell-command+/shell-command+-tests hides /home/phi/.config/emacs/elpa/shell-command+/shell-command+-tests /home/phi/.config/emacs/user-lisp/vc-backup/vc-backup hides /home/phi/.config/emacs/elpa/vc-backup/vc-backup Features: (help-macro package-vc-tests ert-x package-vc display-line-numbers newcomers-presets-theme which-key delsel completion-preview slime-tests ert slime arc-mode archive-mode hyperspec completion finder tabify vc-dir ewoc flow-fill shadow emacs-news-mode dabbrev tex-info texinfo texinfo-loaddefs tex crm texmathp auctex vc-src vc-sccs vc-svn vc-cvs vc-rcs mailalias smtpmail view emacsbug tramp-archive tramp-gvfs zeroconf ecomplete sort smiley gnus-cite mm-archive mail-extr textsec uni-scripts idna-mapping ucs-normalize uni-confusable textsec-check gnus-bcklg gnus-async octave smie etags-regen etags fileloop info-look window-x typo edebug flymake-cc macrostep-c cmacexp macrostep cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs apropos bash-completion url-http url-gw url-cache url-auth eww vtable url-queue mm-url do-at-point vc-hg vc-bzr dired-aux autorevert filenotify gnus-dired tramp-cmds debug backtrace shortdoc avy cl-print grep whitespace cursor-sensor smerge-mode help-fns vc-annotate info xref pcase inline dictionary external-completion dictionary-connection send-to ffap pulse face-remap color misc imenu char-fold misearch multi-isearch vc-git diff-mode track-changes bug-reference find-func qp gnus-ml disp-table nndraft nnmh utf-7 nnfolder copyright epa-file byte-opt network-stream nsm gnus-agent gnus-srvr gnus-score score-mode nnvirtual gnus-msg gnus-art mm-uu mml2015 mm-view mml-smime smime gnutls dig nntp gnus-cache gnus-sum shr pixel-fill kinsoku url-file svg gnus-group gnus-undo gnus-start gnus-dbus gnus-cloud nnimap nnmail mail-source utf7 nnoo gnus-spec gnus-int gnus-range message yank-media puny rfc822 mml mml-sec epa epg epg-config mm-decode mm-bodies mm-encode mailabbrev gmm-utils mailheader gnus-win vc-backup log-view log-edit add-log pcvs-util vc vc-dispatcher diff writegood-mode html-ts-mode sgml-mode facemenu dom markdown-ts-mode derived treesit help-at-pt noutline outline edmacro kmacro flyspell ispell checkdoc flymake project generator init repeat comp comp-cstr battery dbus xml shell-command+ thingatpt dired-x dired dired-loaddefs holidays holiday-loaddefs cal-menu calendar cal-loaddefs time sendmail mail-parse rfc2231 gnus nnheader gnus-util range rmail rfc6068 rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils finder-inf bind-key easy-mmode winner windmove corfu-history corfu compat editorconfig editorconfig-core editorconfig-core-handle editorconfig-fnmatch elec-pair tramp-sh tramp-cache time-stamp tramp trampver tramp-integration files-x tramp-message tramp-compat shell pcomplete parse-time iso8601 time-date format-spec tramp-loaddefs recentf tree-widget saveplace savehist pixel-scroll cus-edit pp cus-start cus-load wid-edit setup .user-lisp-autoloads loaddefs-gen lisp-mnt radix-tree warnings compile text-property-search comint ansi-osc ansi-color ring comp-run comp-common rx bytecomp byte-compile auctex-autoloads tex-site avy-autoloads bash-completion-autoloads corfu-autoloads debbugs-autoloads diff-hl-autoloads focus-autoloads go-mode-autoloads iedit-autoloads markdown-mode-autoloads minimail-autoloads package-lint-autoloads proof-general-autoloads proof-site proof-autoloads shell-command+-autoloads slime-autoloads macrostep-autoloads sml-mode-autoloads vc-backup-autoloads writegood-mode-autoloads package browse-url xdg url url-proxy url-privacy url-expand url-methods url-history url-cookie generate-lisp-file url-domsuf url-util mailcap url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs gv password-cache json subr-x mule-util map url-vars package-activate cl-extra help-mode icons cl-loaddefs cl-lib rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/pgtk-win pgtk-win term/common-win touch-screen pgtk-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic indonesian philippine cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads dbusbind inotify dynamic-setting system-font-setting font-render-setting cairo gtk pgtk lcms2 multi-tty move-toolbar make-network-process tty-child-frames native-compile emacs) Memory information: ((conses 16 1848136 295677) (symbols 48 44294 88) (strings 32 250329 21138) (string-bytes 1 12481011) (vectors 16 104333) (vector-slots 8 2226347 179840) (floats 8 1914 14045) (intervals 56 134830 9481) (buffers 1064 174))
Philip Kaludercic <philipk@HIDDEN>:bug-gnu-emacs@HIDDEN.
Full text available.bug-gnu-emacs@HIDDEN:bug#80598; Package emacs.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.