From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Paul Eggert Newsgroups: gmane.emacs.devel Subject: Re: Making 'eq' == 'eql' in bignum branch Date: Mon, 20 Aug 2018 09:51:51 -0700 Organization: UCLA Computer Science Department Message-ID: <8cfbbb98-ff52-dc9c-3660-f36ab43008a4@cs.ucla.edu> References: <29f933ac-a6bf-8742-66a7-0a9d6d3e5a88@disroot.org> <8e0320d9-e0d0-2b57-57cc-2df4399f133c@cs.ucla.edu> <87lgaio7xd.fsf@tromey.com> <877em1cb0i.fsf@tromey.com> <765767b2-d2e5-a9a6-f724-d58ecf4847bb@cs.ucla.edu> <76081b5d-8c10-0a37-2c97-d4864c0faa80@cs.ucla.edu> <09153aed-361d-4f82-d9ac-b502314769ae@cs.ucla.edu> <861sato21d.fsf@gmail.com> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Trace: blaine.gmane.org 1534783805 30069 195.159.176.226 (20 Aug 2018 16:50:05 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Mon, 20 Aug 2018 16:50:05 +0000 (UTC) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 To: Andy Moreton , emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Aug 20 18:50:01 2018 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1frnNN-0007c2-8Q for ged-emacs-devel@m.gmane.org; Mon, 20 Aug 2018 18:49:57 +0200 Original-Received: from localhost ([::1]:48192 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1frnPT-0005TQ-Og for ged-emacs-devel@m.gmane.org; Mon, 20 Aug 2018 12:52:07 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:41946) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1frnPL-0005T4-CQ for emacs-devel@gnu.org; Mon, 20 Aug 2018 12:52:00 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1frnPI-0002US-3x for emacs-devel@gnu.org; Mon, 20 Aug 2018 12:51:59 -0400 Original-Received: from zimbra.cs.ucla.edu ([131.179.128.68]:59366) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1frnPH-0002S1-KS for emacs-devel@gnu.org; Mon, 20 Aug 2018 12:51:55 -0400 Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 019A2160EF0; Mon, 20 Aug 2018 09:51:53 -0700 (PDT) Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id kgAx_lmVPcCj; Mon, 20 Aug 2018 09:51:52 -0700 (PDT) Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 4744B161389; Mon, 20 Aug 2018 09:51:52 -0700 (PDT) X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id RJazV6Acl86b; Mon, 20 Aug 2018 09:51:52 -0700 (PDT) Original-Received: from [192.168.1.9] (unknown [47.154.30.119]) by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id 06D7F160EF0; Mon, 20 Aug 2018 09:51:51 -0700 (PDT) In-Reply-To: Content-Language: en-US X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 131.179.128.68 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:228744 Archived-At: Andy Moreton wrote: > The current codebase assumes that lisp bignum objects only exist for > values outside fixnum range. Without fixnump how can tests check that > values within fixnum range actually have a fixnum representation Tests cannot possibly check that, because 'fixnump' itself might simply return t for any integer in fixnum range, even if the integer is internally represented as a bignum. Besides, the current codebase is not actually assuming that Lisp bignum objects exist only for values outside fixnum range (the current codebase is not assuming that bignums exist at all, for that matter). What the current codebase is assuming is alluded to in the "Subject:" line of this email, i.e., it is assuming that eq is equivalent to eql on fixnums. And this assumption can be tested directly, by doing some computations and checking that eq works as expected when results are in fixnum range. The test code doesn't need fixnump or bignump to do this sort of test.