From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Paul Eggert Newsgroups: gmane.emacs.bugs Subject: bug#12215: CSET is unnecessarily confusing Date: Thu, 23 Aug 2012 07:40:43 -0700 Organization: UCLA Computer Science Department Message-ID: <503640EB.5030901@cs.ucla.edu> References: <502D8A95.7060609@cs.ucla.edu> <5034511B.7010409@cs.ucla.edu> <50350A4C.5050103@cs.ucla.edu> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1345732908 31258 80.91.229.3 (23 Aug 2012 14:41:48 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 23 Aug 2012 14:41:48 +0000 (UTC) Cc: Dmitry Antipov , 12215@debbugs.gnu.org To: Stefan Monnier Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Thu Aug 23 16:41:48 2012 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1T4YbS-00062W-VA for geb-bug-gnu-emacs@m.gmane.org; Thu, 23 Aug 2012 16:41:47 +0200 Original-Received: from localhost ([::1]:42311 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T4YbR-0004Jn-Bo for geb-bug-gnu-emacs@m.gmane.org; Thu, 23 Aug 2012 10:41:45 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:58641) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T4YbJ-00040u-KG for bug-gnu-emacs@gnu.org; Thu, 23 Aug 2012 10:41:44 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1T4YbD-0006eH-MJ for bug-gnu-emacs@gnu.org; Thu, 23 Aug 2012 10:41:37 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:35587) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T4YbD-0006eB-Is for bug-gnu-emacs@gnu.org; Thu, 23 Aug 2012 10:41:31 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.72) (envelope-from ) id 1T4Ybh-000317-VC for bug-gnu-emacs@gnu.org; Thu, 23 Aug 2012 10:42:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Paul Eggert Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 23 Aug 2012 14:42:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 12215 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 12215-submit@debbugs.gnu.org id=B12215.134573288811558 (code B ref 12215); Thu, 23 Aug 2012 14:42:01 +0000 Original-Received: (at 12215) by debbugs.gnu.org; 23 Aug 2012 14:41:28 +0000 Original-Received: from localhost ([127.0.0.1]:45133 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1T4YbA-00030M-AZ for submit@debbugs.gnu.org; Thu, 23 Aug 2012 10:41:28 -0400 Original-Received: from smtp.cs.ucla.edu ([131.179.128.62]:44537) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1T4Yb7-00030E-Ml for 12215@debbugs.gnu.org; Thu, 23 Aug 2012 10:41:26 -0400 Original-Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 3B20C39E8018; Thu, 23 Aug 2012 07:40:54 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Original-Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id p2CVprU6SiJ5; Thu, 23 Aug 2012 07:40:53 -0700 (PDT) Original-Received: from [192.168.1.3] (pool-108-23-119-2.lsanca.fios.verizon.net [108.23.119.2]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 4ED6539E8017; Thu, 23 Aug 2012 07:40:53 -0700 (PDT) User-Agent: Mozilla/5.0 (X11; Linux i686; rv:14.0) Gecko/20120714 Thunderbird/14.0 In-Reply-To: X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:63429 Archived-At: On 08/23/2012 05:26 AM, Stefan Monnier wrote: > One choice is to have a flag in the object (like gcmarkbit) > that says "this object was modified since last scan"; > and for that you need a pointer to the > start of the object rather than only to the field. If that flag has a standard name, one doesn't need separate macros BSET/CSET/etc; one can have just one macro that works for all types. > there are also many other choices which don't require such > a pointer (e.g. you can add the field's address to a list of "modified > fields"; or you can have a flag covering all objects in a "page", ...). Or one can rely on the hardware's memory-mapping facilities; by making the page readonly until some code writes to it. This would mean we don't need a setter macro. It'd be nicer from the Emacs maintenance point of view, most code could chug along in the traditional way. That is, we apply the patch to the trunk to get rid of the setters, and create a gc branch that uses mmap rather than reintroducing lots of changes to add calls to a setter macro or macros.