From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: "Daniel Colascione" Newsgroups: gmane.emacs.devel Subject: Re: [RFC PATCH] Per-window face support Date: Sun, 17 Jun 2018 12:21:03 -0700 Message-ID: <49478aa579597ea6557a3976779a234a.squirrel@dancol.org> References: <5e08587a56ad528599ed5fb259be6335.squirrel@dancol.org> <83muw5vdtr.fsf@gnu.org> <83zhzvyqfy.fsf@gnu.org> <83lgbezs6q.fsf@gnu.org> <6b522145569975d52266e29e8122e86b.squirrel@dancol.org> <50a1e0f98f6cfc5e55fdc2b7df5000b5.squirrel@dancol.org> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain;charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Trace: blaine.gmane.org 1529263179 2070 195.159.176.226 (17 Jun 2018 19:19:39 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sun, 17 Jun 2018 19:19:39 +0000 (UTC) User-Agent: SquirrelMail/1.4.23 [SVN] Cc: emacs-devel@gnu.org To: "Stefan Monnier" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Jun 17 21:19:35 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 1fUdD5-0000RZ-5v for ged-emacs-devel@m.gmane.org; Sun, 17 Jun 2018 21:19:35 +0200 Original-Received: from localhost ([::1]:56187 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fUdFC-0007uK-6m for ged-emacs-devel@m.gmane.org; Sun, 17 Jun 2018 15:21:46 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:41351) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fUdEZ-0007uF-9g for emacs-devel@gnu.org; Sun, 17 Jun 2018 15:21:08 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fUdEY-0002SV-AC for emacs-devel@gnu.org; Sun, 17 Jun 2018 15:21:07 -0400 Original-Received: from dancol.org ([2600:3c01::f03c:91ff:fedf:adf3]:44552) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fUdEY-0002RQ-36 for emacs-devel@gnu.org; Sun, 17 Jun 2018 15:21:06 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=dancol.org; s=x; h=Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:To:From:Subject:Date:References:In-Reply-To:Message-ID; bh=GJ98nGUdx2fipFmG4L1ALF30UOm0TFXONy9ExFdUN+k=; b=Gj5pnrxQr8bkHNAvUhCrpKLr4fIaip3kPQHgWRLXaR4sgPJOjyrOMINvxngRCSpVKMG7+JvmY3sWwCAfeeth7Hp2h3JxZL3ekXiyS80C8nCBmxjy8V7EWg3UIIxKZTxybjtHhUSNt/Kqel2gXXiq5n6gPZfcXREDO3QX0B89Txd84VRTi34r02i+kkGjS0EQII5is5TMa1T0Ve/10s89J4IX6cY3+r0LsRE1KtCnSp3MiFNJwPK1poSoh2oWileBR/McsG4FiVzz+Sj0P7qOyfq6D/KGj8mDRSuEylB9ynqSnQbXWy0tFZU8daZOg+xYTDSPA4I8AC/FX16E0kMqdQ==; Original-Received: from localhost ([127.0.0.1] helo=dancol.org) by dancol.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fUdEV-0000QH-RY; Sun, 17 Jun 2018 12:21:03 -0700 Original-Received: from 2604:4080:1321:8c20:ec22:d4e7:41f9:7328 (SquirrelMail authenticated user dancol) by dancol.org with HTTP; Sun, 17 Jun 2018 12:21:03 -0700 In-Reply-To: X-Priority: 3 (Normal) Importance: Normal X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2600:3c01::f03c:91ff:fedf:adf3 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:226423 Archived-At: >> I think that ship sailed a long time ago. Almost everyone uses eq for >> integers, so we should, I think, intern bignums so that things keep >> working. > > But using `eql` is a lot cheaper than hash-consing all bignums > and floats. We should consider floats and bignums separately. We get along fine today with floats the way they are. Bignums are different because we'd be changing operations that would overflow today into operations that return bignums, so users would get bignums in places they don't expect. That's why eq has to keep working. Anyway, I still think hash-consing bignums is fine, because it's pay-for-what-you-use. Bignums are expensive anyway, so the overhead of interning them shouldn't matter all that much. I bet it's cheaper to intern the occasional bignum than to add branches to every eq in the codebase. > I think we should simply start to use `eql` more and phase out `eq` > little by little. Sure. Part of the problem is that primitives like assq are hardcoded for eq-comparison, and other primitives, like assoc, are hardcoded for equal-comparison. We could add more primitives, but I don't think it'd be worth the trouble.